[gnome-photos/gnome-3-16] embed: Fix the lifetime of the signal handlers
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-photos/gnome-3-16] embed: Fix the lifetime of the signal handlers
- Date: Thu, 29 Oct 2015 01:54:03 +0000 (UTC)
commit 417015989b192a10d6ae4273479811cfef5339ce
Author: Debarshi Ray <debarshir gnome org>
Date: Thu Oct 29 02:23:36 2015 +0100
embed: Fix the lifetime of the signal handlers
A ViewModel instance can have "hidden" references held by the
GtkTreeRowReferences of each item that is present in the model. Since
items are owned by the ItemManager, they can outlive the Embed.
https://bugzilla.gnome.org/show_bug.cgi?id=757199
src/photos-embed.c | 16 ++++++++--------
1 files changed, 8 insertions(+), 8 deletions(-)
---
diff --git a/src/photos-embed.c b/src/photos-embed.c
index 141a3b5..b5eea78 100644
--- a/src/photos-embed.c
+++ b/src/photos-embed.c
@@ -665,28 +665,28 @@ photos_embed_init (PhotosEmbed *self)
name = photos_view_container_get_name (PHOTOS_VIEW_CONTAINER (priv->overview));
gtk_stack_add_titled (GTK_STACK (priv->stack), priv->overview, "overview", name);
model = photos_view_container_get_model (PHOTOS_VIEW_CONTAINER (priv->overview));
- g_signal_connect_swapped (model, "row-inserted", G_CALLBACK (photos_embed_row_changed), self);
- g_signal_connect_swapped (model, "row-deleted", G_CALLBACK (photos_embed_row_changed), self);
+ g_signal_connect_object (model, "row-inserted", G_CALLBACK (photos_embed_row_changed), self,
G_CONNECT_SWAPPED);
+ g_signal_connect_object (model, "row-deleted", G_CALLBACK (photos_embed_row_changed), self,
G_CONNECT_SWAPPED);
priv->collections = photos_view_container_new (PHOTOS_WINDOW_MODE_COLLECTIONS, _("Albums"));
name = photos_view_container_get_name (PHOTOS_VIEW_CONTAINER (priv->collections));
gtk_stack_add_titled (GTK_STACK (priv->stack), priv->collections, "collections", name);
model = photos_view_container_get_model (PHOTOS_VIEW_CONTAINER (priv->collections));
- g_signal_connect_swapped (model, "row-inserted", G_CALLBACK (photos_embed_row_changed), self);
- g_signal_connect_swapped (model, "row-deleted", G_CALLBACK (photos_embed_row_changed), self);
+ g_signal_connect_object (model, "row-inserted", G_CALLBACK (photos_embed_row_changed), self,
G_CONNECT_SWAPPED);
+ g_signal_connect_object (model, "row-deleted", G_CALLBACK (photos_embed_row_changed), self,
G_CONNECT_SWAPPED);
priv->favorites = photos_view_container_new (PHOTOS_WINDOW_MODE_FAVORITES, _("Favorites"));
name = photos_view_container_get_name (PHOTOS_VIEW_CONTAINER (priv->favorites));
gtk_stack_add_titled (GTK_STACK (priv->stack), priv->favorites, "favorites", name);
model = photos_view_container_get_model (PHOTOS_VIEW_CONTAINER (priv->favorites));
- g_signal_connect_swapped (model, "row-inserted", G_CALLBACK (photos_embed_row_changed), self);
- g_signal_connect_swapped (model, "row-deleted", G_CALLBACK (photos_embed_row_changed), self);
+ g_signal_connect_object (model, "row-inserted", G_CALLBACK (photos_embed_row_changed), self,
G_CONNECT_SWAPPED);
+ g_signal_connect_object (model, "row-deleted", G_CALLBACK (photos_embed_row_changed), self,
G_CONNECT_SWAPPED);
priv->search = photos_view_container_new (PHOTOS_WINDOW_MODE_SEARCH, _("Search"));
gtk_stack_add_named (GTK_STACK (priv->stack), priv->search, "search");
model = photos_view_container_get_model (PHOTOS_VIEW_CONTAINER (priv->search));
- g_signal_connect_swapped (model, "row-inserted", G_CALLBACK (photos_embed_row_changed), self);
- g_signal_connect_swapped (model, "row-deleted", G_CALLBACK (photos_embed_row_changed), self);
+ g_signal_connect_object (model, "row-inserted", G_CALLBACK (photos_embed_row_changed), self,
G_CONNECT_SWAPPED);
+ g_signal_connect_object (model, "row-deleted", G_CALLBACK (photos_embed_row_changed), self,
G_CONNECT_SWAPPED);
priv->preview = photos_preview_view_new (GTK_OVERLAY (priv->stack_overlay));
gtk_stack_add_named (GTK_STACK (priv->stack), priv->preview, "preview");
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]