[gtk+] Try this again



commit c6894cd6063851d70d1687d468cf67757939595d
Author: Matthias Clasen <mclasen redhat com>
Date:   Thu May 2 09:29:35 2013 -0400

    Try this again
    
    When the hostnamed call is cancelled, we get a G_IO_ERROR_CANCELLED
    error back. Handle it properly.

 gtk/gtkplacessidebar.c |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)
---
diff --git a/gtk/gtkplacessidebar.c b/gtk/gtkplacessidebar.c
index 9b08485..310b6c7 100644
--- a/gtk/gtkplacessidebar.c
+++ b/gtk/gtkplacessidebar.c
@@ -3568,11 +3568,14 @@ hostname_proxy_new_cb (GObject      *source_object,
 {
        GtkPlacesSidebar *sidebar = user_data;
        GError *error = NULL;
+        GDBusProxy *proxy;
 
-       sidebar->hostnamed_proxy = g_dbus_proxy_new_for_bus_finish (res, &error);
-       g_clear_object (&sidebar->hostnamed_cancellable);
+       proxy = g_dbus_proxy_new_for_bus_finish (res, &error);
+        if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+          return;
 
-       g_object_unref (sidebar);
+        sidebar->hostnamed_proxy = proxy;
+       g_clear_object (&sidebar->hostnamed_cancellable);
 
        if (error != NULL) {
                g_debug ("Failed to create D-Bus proxy: %s", error->message);
@@ -3833,7 +3836,7 @@ gtk_places_sidebar_init (GtkPlacesSidebar *sidebar)
                                  "org.freedesktop.hostname1",
                                  sidebar->hostnamed_cancellable,
                                  hostname_proxy_new_cb,
-                                 g_object_ref (sidebar));
+                                 sidebar);
 
        sidebar->drop_state = DROP_STATE_NORMAL;
        sidebar->new_bookmark_index = -1;


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