[gnome-photos] organize-collection-model: Simplify signal handlers tracking



commit fd2e3359f0c60fa71bcf6aa2810d17fc9553fd7c
Author: Emanuele Aina <emanuele aina collabora com>
Date:   Tue Jun 25 14:19:49 2013 +0200

    organize-collection-model: Simplify signal handlers tracking
    
    Use g_signal_connect_object() to make sure that signals are disconnected
    when the toolbar is destroyed and use g_signal_handlers_disconnect_by_func()
    otherwise.
    
    This allows us to get rid of all the signal id member fields.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=703054

 src/photos-organize-collection-model.c |   33 ++++++++++---------------------
 1 files changed, 11 insertions(+), 22 deletions(-)
---
diff --git a/src/photos-organize-collection-model.c b/src/photos-organize-collection-model.c
index 520ac8a..e153242 100644
--- a/src/photos-organize-collection-model.c
+++ b/src/photos-organize-collection-model.c
@@ -36,8 +36,6 @@ struct _PhotosOrganizeCollectionModelPrivate
   GtkTreePath *coll_path;
   GtkTreeRowReference *placeholder_ref;
   PhotosBaseManager *manager;
-  gulong coll_added_id;
-  gulong coll_removed_id;
 };
 
 
@@ -173,18 +171,6 @@ photos_organize_collection_model_dispose (GObject *object)
   PhotosOrganizeCollectionModel *self = PHOTOS_ORGANIZE_COLLECTION_MODEL (object);
   PhotosOrganizeCollectionModelPrivate *priv = self->priv;
 
-  if (priv->coll_added_id != 0)
-    {
-      g_signal_handler_disconnect (priv->manager, priv->coll_added_id);
-      priv->coll_added_id = 0;
-    }
-
-  if (priv->coll_removed_id != 0)
-    {
-      g_signal_handler_disconnect (priv->manager, priv->coll_removed_id);
-      priv->coll_removed_id = 0;
-    }
-
   g_clear_object (&priv->manager);
 
   G_OBJECT_CLASS (photos_organize_collection_model_parent_class)->dispose (object);
@@ -220,14 +206,17 @@ photos_organize_collection_model_init (PhotosOrganizeCollectionModel *self)
   gtk_list_store_set_column_types (GTK_LIST_STORE (self), sizeof (columns) / sizeof (columns[0]), columns);
 
   priv->manager = photos_collection_manager_new ();
-  priv->coll_added_id = g_signal_connect (priv->manager,
-                                          "object-added",
-                                          G_CALLBACK (photos_organize_collection_model_object_added),
-                                          self);
-  priv->coll_removed_id = g_signal_connect (priv->manager,
-                                            "object-removed",
-                                            G_CALLBACK (photos_organize_collection_model_object_removed),
-                                            self);
+
+  g_signal_connect_object (priv->manager,
+                           "object-added",
+                           G_CALLBACK (photos_organize_collection_model_object_added),
+                           self,
+                           0);
+  g_signal_connect_object (priv->manager,
+                           "object-removed",
+                           G_CALLBACK (photos_organize_collection_model_object_removed),
+                           self,
+                           0);
 
   /* Populate the model. */
   photos_organize_collection_model_refresh_state (self);


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