Gtkmm2ext::Pane: attempt to track child lifetime, since Gtkmm 2.4 doesn't do this...
[ardour.git] / libs / gtkmm2ext / gtkmm2ext / pane.h
index dfe2ef7ffec1a32a7a324219b71e49073c7cf6e1..9612da08d28dd5771a14e2e60e0f4873ab9b9800 100644 (file)
@@ -46,10 +46,11 @@ class LIBGTKMM2EXT_API Pane : public Gtk::Container
   public:
        struct Child
        {
+               Pane* pane;
                Gtk::Widget* w;
                int32_t minsize;
 
-               Child (Gtk::Widget* widget, uint32_t ms) : w (widget), minsize (ms) {}
+               Child (Pane* p, Gtk::Widget* widget, uint32_t ms) : pane (p), w (widget), minsize (ms) {}
        };
 
        typedef std::list<Child> Children;
@@ -108,6 +109,9 @@ class LIBGTKMM2EXT_API Pane : public Gtk::Container
        void add_divider ();
        void handle_child_visibility ();
        bool fract_is_ok (Dividers::size_type, float fract);
+
+       static void* notify_child_destroyed (void*);
+       void* child_destroyed (Gtk::Widget*);
 };
 
 class LIBGTKMM2EXT_API HPane : public Pane