[gnome-photos/gnome-3-18] 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-18] embed: Fix the lifetime of the signal handlers
- Date: Thu, 29 Oct 2015 01:50:29 +0000 (UTC)
commit 23e91eff9c59243e1e1d3af0c03f7d1c384b08f2
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 3538020..f26f360 100644
--- a/src/photos-embed.c
+++ b/src/photos-embed.c
@@ -681,28 +681,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]