From d3985dec1d2c074c0f470d5df71e31ff3fe5a2c9 Mon Sep 17 00:00:00 2001 From: Federico Mena Quintero Date: Thu, 11 Apr 2013 20:04:53 -0500 Subject: [PATCH] GtkPlacesSidebar: Hold a reference to the sidebar while a D-Bus proxy is being created The creation is async, and the sidebar could be destroyed while the D-Bus proxy is being created. Signed-off-by: Federico Mena Quintero --- gtk/gtkplacessidebar.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gtk/gtkplacessidebar.c b/gtk/gtkplacessidebar.c index cf780503b3..e7dc6cbbd8 100644 --- a/gtk/gtkplacessidebar.c +++ b/gtk/gtkplacessidebar.c @@ -3301,6 +3301,8 @@ hostname_proxy_new_cb (GObject *source_object, sidebar->hostnamed_proxy = g_dbus_proxy_new_for_bus_finish (res, &error); g_clear_object (&sidebar->hostnamed_cancellable); + g_object_unref (sidebar); + if (error != NULL) { g_debug ("Failed to create D-Bus proxy: %s", error->message); g_error_free (error); @@ -3588,7 +3590,7 @@ gtk_places_sidebar_init (GtkPlacesSidebar *sidebar) "org.freedesktop.hostname1", sidebar->hostnamed_cancellable, hostname_proxy_new_cb, - sidebar); + g_object_ref (sidebar)); } static void