[gnome-photos] load-more-button: Simplify signal handlers tracking



commit bbc0126f7cfe5a2b8644856562c0a86563a7c571
Author: Emanuele Aina <emanuele aina collabora com>
Date:   Tue Jun 25 14:21:53 2013 +0200

    load-more-button: 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-load-more-button.c |   16 +++++-----------
 1 files changed, 5 insertions(+), 11 deletions(-)
---
diff --git a/src/photos-load-more-button.c b/src/photos-load-more-button.c
index ffdf2d5..16e3ebb 100644
--- a/src/photos-load-more-button.c
+++ b/src/photos-load-more-button.c
@@ -43,7 +43,6 @@ struct _PhotosLoadMoreButtonPrivate
   PhotosOffsetController *offset_cntrlr;
   PhotosWindowMode mode;
   gboolean block;
-  gulong offset_cntrlr_id;
 };
 
 enum
@@ -119,10 +118,11 @@ photos_load_more_button_constructed (GObject *object)
       break;
     }
 
-  priv->offset_cntrlr_id = g_signal_connect (priv->offset_cntrlr,
-                                             "count-changed",
-                                             G_CALLBACK (photos_load_more_button_count_changed),
-                                             self);
+  g_signal_connect_object (priv->offset_cntrlr,
+                           "count-changed",
+                           G_CALLBACK (photos_load_more_button_count_changed),
+                           self,
+                           0);
 
   count = photos_offset_controller_get_count (priv->offset_cntrlr);
   photos_load_more_button_count_changed (priv->offset_cntrlr, count, self);
@@ -135,12 +135,6 @@ photos_load_more_button_dispose (GObject *object)
   PhotosLoadMoreButton *self = PHOTOS_LOAD_MORE_BUTTON (object);
   PhotosLoadMoreButtonPrivate *priv = self->priv;
 
-  if (priv->offset_cntrlr_id != 0)
-    {
-      g_signal_handler_disconnect (priv->offset_cntrlr, priv->offset_cntrlr_id);
-      priv->offset_cntrlr_id = 0;
-    }
-
   g_clear_object (&self->priv->offset_cntrlr);
 
   G_OBJECT_CLASS (photos_load_more_button_parent_class)->dispose (object);


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