[gvfs] proxy: don't emit connected/added signals at object creation



commit ca7743a63721c3dd1c166006539e356412466dcc
Author: Cosimo Cecchi <cosimoc gnome org>
Date:   Sun Sep 23 14:51:32 2012 -0400

    proxy: don't emit connected/added signals at object creation
    
    It's unnecessary to emit those signals when the object is created, and
    it can cause weird side-effects if applications e.g. play a sound on
    signal emission.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=684677

 monitor/proxy/gproxyvolumemonitor.c |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)
---
diff --git a/monitor/proxy/gproxyvolumemonitor.c b/monitor/proxy/gproxyvolumemonitor.c
index 1af6c34..37fc788 100644
--- a/monitor/proxy/gproxyvolumemonitor.c
+++ b/monitor/proxy/gproxyvolumemonitor.c
@@ -955,6 +955,7 @@ g_proxy_volume_monitor_constructor (GType                  type,
   GObjectClass *parent_class;
   GError *error;
   const char *dbus_name;
+  gchar *name_owner;
 
   G_LOCK (proxy_vm);
 
@@ -1018,7 +1019,12 @@ g_proxy_volume_monitor_constructor (GType                  type,
   /* listen to when the owner of the service appears/disappears */
   g_signal_connect (monitor->proxy, "notify::g-name-owner", G_CALLBACK (name_owner_changed), monitor);
   /* initially seed drives/volumes/mounts if we have an owner */
-  name_owner_changed (G_OBJECT (monitor->proxy), NULL, monitor);
+  name_owner = g_dbus_proxy_get_name_owner (G_DBUS_PROXY (monitor->proxy));
+  if (name_owner != NULL)
+    {
+      seed_monitor (monitor);
+      g_free (name_owner);
+    }
 
   g_hash_table_insert (the_volume_monitors, (gpointer) type, object);
 



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