From ca7743a63721c3dd1c166006539e356412466dcc Mon Sep 17 00:00:00 2001 From: Cosimo Cecchi Date: Sun, 23 Sep 2012 18:51:32 +0000 Subject: 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 --- 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); -- cgit v0.9.0.2