[gtk+/merge-places-sidebar: 185/195] GtkPlacesSidebar: Hold a reference to the sidebar while a D-Bus proxy is being created



commit d3985dec1d2c074c0f470d5df71e31ff3fe5a2c9
Author: Federico Mena Quintero <federico gnome org>
Date:   Thu Apr 11 20:04:53 2013 -0500

    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 <federico gnome org>

 gtk/gtkplacessidebar.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)
---
diff --git a/gtk/gtkplacessidebar.c b/gtk/gtkplacessidebar.c
index cf78050..e7dc6cb 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


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]