[ekiga] Disconnect all gtk+ signals on disposal in the roster view widget



commit b60b5c87d559019a01c4087d6cf6e25c8cd5abb9
Author: Julien Puydt <jpuydt gnome org>
Date:   Thu Oct 7 13:40:41 2010 +0200

    Disconnect all gtk+ signals on disposal in the roster view widget
    
    I realized that was lacking when working on the call history view widget
    (well, turning it into a real widget in fact).

 lib/engine/gui/gtk-frontend/roster-view-gtk.cpp |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)
---
diff --git a/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp b/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp
index 6b02ee5..8ab26ef 100644
--- a/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp
+++ b/lib/engine/gui/gtk-frontend/roster-view-gtk.cpp
@@ -1330,14 +1330,24 @@ roster_view_gtk_dispose (GObject *obj)
 
   if (view->priv->tree_view) {
 
-    g_signal_handlers_disconnect_matched (gtk_tree_view_get_selection (view->priv->tree_view),
+    GtkTreeSelection* selection = NULL;
+
+    selection = gtk_tree_view_get_selection (view->priv->tree_view);
+
+    g_signal_handlers_disconnect_matched (selection,
+					  (GSignalMatchType) G_SIGNAL_MATCH_DATA,
+					  0, /* signal_id */
+					  (GQuark) 0, /* detail */
+					  NULL,	/* closure */
+					  NULL,	/* func */
+					  view); /* data */
+    g_signal_handlers_disconnect_matched (view->priv->tree_view,
 					  (GSignalMatchType) G_SIGNAL_MATCH_DATA,
 					  0, /* signal_id */
 					  (GQuark) 0, /* detail */
 					  NULL,	/* closure */
 					  NULL,	/* func */
 					  view); /* data */
-    //   gtk_tree_store_clear (view->priv->store);
 
     g_slist_foreach (view->priv->folded_groups, (GFunc) g_free, NULL);
     g_slist_free (view->priv->folded_groups);



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