[gnome-photos] preview-nav-buttons: Hold references on internal widgets
- From: Debarshi Ray <debarshir src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-photos] preview-nav-buttons: Hold references on internal widgets
- Date: Tue, 15 Dec 2015 14:17:49 +0000 (UTC)
commit 84f52a53ec0050f230b4d9abfd95a11278a63137
Author: Sparsh Paliwal <sparshpaliwal123 gmail com>
Date: Mon Dec 14 20:16:22 2015 +0100
preview-nav-buttons: Hold references on internal widgets
Even though we keep the class alive across the timeout and idle
sources, the widgets are destroyed as soon as their parent GtkOverlay
is destroyed. Therefore, if fade_out_button is called just after the
widgets have been destroyed during shutdown, we get a crash.
https://bugzilla.gnome.org/show_bug.cgi?id=746940
src/photos-preview-nav-buttons.c | 6 ++++--
1 files changed, 4 insertions(+), 2 deletions(-)
---
diff --git a/src/photos-preview-nav-buttons.c b/src/photos-preview-nav-buttons.c
index f4ad411..f67a610 100644
--- a/src/photos-preview-nav-buttons.c
+++ b/src/photos-preview-nav-buttons.c
@@ -370,6 +370,8 @@ photos_preview_nav_buttons_dispose (GObject *object)
g_clear_object (&priv->tap_gesture);
g_clear_object (&priv->model);
+ g_clear_object (&priv->next_widget);
+ g_clear_object (&priv->prev_widget);
g_clear_object (&priv->item_mngr);
g_clear_object (&priv->mode_cntrlr);
@@ -400,7 +402,7 @@ photos_preview_nav_buttons_constructed (GObject *object)
G_OBJECT_CLASS (photos_preview_nav_buttons_parent_class)->constructed (object);
- priv->prev_widget = gtk_revealer_new ();
+ priv->prev_widget = g_object_ref_sink (gtk_revealer_new ());
gtk_widget_set_halign (priv->prev_widget, GTK_ALIGN_START);
gtk_widget_set_margin_start (priv->prev_widget, 30);
gtk_widget_set_margin_end (priv->prev_widget, 30);
@@ -426,7 +428,7 @@ photos_preview_nav_buttons_constructed (GObject *object)
G_CALLBACK (photos_preview_nav_buttons_leave_notify),
self);
- priv->next_widget = gtk_revealer_new ();
+ priv->next_widget = g_object_ref_sink (gtk_revealer_new ());
gtk_widget_set_halign (priv->next_widget, GTK_ALIGN_END);
gtk_widget_set_margin_start (priv->next_widget, 30);
gtk_widget_set_margin_end (priv->next_widget, 30);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]