[Xfce4-commits] <xfce4-appfinder:master> Disconnect the categories-changed signal.

Nick Schermer noreply at xfce.org
Wed Dec 28 12:32:06 CET 2011


Updating branch refs/heads/master
         to d08719710791f909a75df68245420555a76f9c45 (commit)
       from a6b11e848dbbe61cbd280a83257e0ebd800fc85a (commit)

commit d08719710791f909a75df68245420555a76f9c45
Author: Nick Schermer <nick at xfce.org>
Date:   Wed Dec 28 12:21:52 2011 +0100

    Disconnect the categories-changed signal.
    
    This window is destroyed, but the model is owned by the
    application.

 src/appfinder-window.c |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/appfinder-window.c b/src/appfinder-window.c
index 751e56c..bafb00a 100644
--- a/src/appfinder-window.c
+++ b/src/appfinder-window.c
@@ -145,6 +145,7 @@ struct _XfceAppfinderWindow
   gint                        last_window_height;
 
   gulong                      property_watch_id;
+  gulong                      categories_changed_id;
 };
 
 static const GtkTargetEntry target_list[] =
@@ -361,9 +362,10 @@ xfce_appfinder_window_init (XfceAppfinderWindow *window)
 
   /* load categories in the model */
   xfce_appfinder_window_category_set_categories (NULL, window);
-  g_signal_connect (G_OBJECT (window->model), "categories-changed",
-                    G_CALLBACK (xfce_appfinder_window_category_set_categories),
-                    window);
+  window->categories_changed_id =
+      g_signal_connect (G_OBJECT (window->model), "categories-changed",
+                        G_CALLBACK (xfce_appfinder_window_category_set_categories),
+                        window);
 
   /* monitor xfconf property changes */
   window->property_watch_id =
@@ -384,6 +386,7 @@ xfce_appfinder_window_finalize (GObject *object)
     g_source_remove (window->idle_entry_changed_id);
 
   g_signal_handler_disconnect (window->channel, window->property_watch_id);
+  g_signal_handler_disconnect (window->model, window->categories_changed_id);
 
   g_object_unref (G_OBJECT (window->model));
   g_object_unref (G_OBJECT (window->category_model));


More information about the Xfce4-commits mailing list