[gnome-photos/wip/rishi/collection: 43/43] tracker-search-controller: Fix the lifetime of the signal handlers
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-photos/wip/rishi/collection: 43/43] tracker-search-controller: Fix the lifetime of the signal handlers
- Date: Fri, 2 Feb 2018 03:36:01 +0000 (UTC)
commit c60458a82a723a749176d61e66b2e7da3f334c11
Author: Debarshi Ray <debarshir gnome org>
Date: Fri Feb 2 02:44:35 2018 +0100
tracker-search-controller: Fix the lifetime of the signal handlers
It's hard to prove the relative lifetimes of all the global singletons.
The safest thing to do is to disconnect the signal handlers when the
recipient gets destroyed.
src/photos-tracker-search-controller.c | 36 +++++++++++++++++++---------------
1 file changed, 20 insertions(+), 16 deletions(-)
---
diff --git a/src/photos-tracker-search-controller.c b/src/photos-tracker-search-controller.c
index a0ab7a2d..0ee9a6fe 100644
--- a/src/photos-tracker-search-controller.c
+++ b/src/photos-tracker-search-controller.c
@@ -136,30 +136,34 @@ photos_tracker_search_controller_init (PhotosTrackerSearchController *self)
state = photos_search_context_get_state (PHOTOS_SEARCH_CONTEXT (app));
self->src_mngr = g_object_ref (state->src_mngr);
- g_signal_connect_swapped (self->src_mngr,
- "active-changed",
- G_CALLBACK (photos_tracker_controller_refresh_for_object),
- self);
+ g_signal_connect_object (self->src_mngr,
+ "active-changed",
+ G_CALLBACK (photos_tracker_controller_refresh_for_object),
+ self,
+ G_CONNECT_SWAPPED);
self->srch_mtch_mngr = g_object_ref (state->srch_mtch_mngr);
- g_signal_connect_swapped (self->srch_mtch_mngr,
- "active-changed",
- G_CALLBACK (photos_tracker_search_controller_search_match_active_changed),
- self);
+ g_signal_connect_object (self->srch_mtch_mngr,
+ "active-changed",
+ G_CALLBACK (photos_tracker_search_controller_search_match_active_changed),
+ self,
+ G_CONNECT_SWAPPED);
self->srch_typ_mngr = g_object_ref (state->srch_typ_mngr);
- g_signal_connect_swapped (self->srch_typ_mngr,
- "active-changed",
- G_CALLBACK (photos_tracker_controller_refresh_for_object),
- self);
+ g_signal_connect_object (self->srch_typ_mngr,
+ "active-changed",
+ G_CALLBACK (photos_tracker_controller_refresh_for_object),
+ self,
+ G_CONNECT_SWAPPED);
self->offset_cntrlr = photos_offset_search_controller_dup_singleton ();
self->srch_cntrlr = g_object_ref (state->srch_cntrlr);
- g_signal_connect_swapped (self->srch_cntrlr,
- "search-string-changed",
- G_CALLBACK (photos_tracker_controller_refresh_for_object),
- self);
+ g_signal_connect_object (self->srch_cntrlr,
+ "search-string-changed",
+ G_CALLBACK (photos_tracker_controller_refresh_for_object),
+ self,
+ G_CONNECT_SWAPPED);
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]