[gnome-photos] organize-collection-model: Simplify signal handlers tracking
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-photos] organize-collection-model: Simplify signal handlers tracking
- Date: Thu, 27 Jun 2013 13:57:43 +0000 (UTC)
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]