[gnome-builder] layout-tab: track destroying of controls



commit f526c9021dfd9ed40d05e31cd3441ac2b3dd33d3
Author: Christian Hergert <chergert redhat com>
Date:   Sun Jul 17 03:15:03 2016 -0700

    layout-tab: track destroying of controls

 libide/workbench/ide-layout-tab.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)
---
diff --git a/libide/workbench/ide-layout-tab.c b/libide/workbench/ide-layout-tab.c
index 696426e..9eb39db 100644
--- a/libide/workbench/ide-layout-tab.c
+++ b/libide/workbench/ide-layout-tab.c
@@ -73,6 +73,11 @@ ide_layout_tab_connect (IdeLayoutTab *self)
   if (controls != NULL)
     gtk_container_add (GTK_CONTAINER (self->controls_container), controls);
 
+  g_signal_connect (self->view,
+                    "destroy",
+                    G_CALLBACK (gtk_widget_destroyed),
+                    &self->view);
+
   gtk_widget_set_visible (self->close_button, TRUE);
 }
 
@@ -92,6 +97,10 @@ ide_layout_tab_disconnect (IdeLayoutTab *self)
 {
   g_assert (IDE_IS_LAYOUT_TAB (self));
 
+  g_signal_handlers_disconnect_by_func (self->view,
+                                        G_CALLBACK (gtk_widget_destroyed),
+                                        &self->view);
+
   gtk_container_foreach (GTK_CONTAINER (self->controls_container),
                          ide_layout_tab_remove_control,
                          self);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]