summaryrefslogtreecommitdiff
path: root/gio/gdbusobjectmanagerclient.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2013-02-07 10:54:24 +0100
committerAleksander Morgado <aleksander@lanedo.com>2013-02-09 20:34:52 +0100
commit27ecab75538a47ed89b78b4c212d870a9be60bac (patch)
tree82b36ca2e0a52b6f2657482d78ef4600aaf88d60 /gio/gdbusobjectmanagerclient.c
parentf9d6dcac0b0bdd30a19cb81dfde96264570bc815 (diff)
gdbusobjectmanagerclient: always connect to proxy's 'g-signal'
If we don't connect to the control proxy's 'g-signal' signal, we won't have 'object-added' or 'object-removed' signals. So, connect to the 'g-signal' not only when there already is a name-owner, but always. https://bugzilla.gnome.org/show_bug.cgi?id=693285
Diffstat (limited to 'gio/gdbusobjectmanagerclient.c')
-rw-r--r--gio/gdbusobjectmanagerclient.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/gio/gdbusobjectmanagerclient.c b/gio/gdbusobjectmanagerclient.c
index b77558b70..5a6028171 100644
--- a/gio/gdbusobjectmanagerclient.c
+++ b/gio/gdbusobjectmanagerclient.c
@@ -1352,6 +1352,11 @@ initable_init (GInitable *initable,
G_CALLBACK (on_notify_g_name_owner),
manager);
+ g_signal_connect (manager->priv->control_proxy,
+ "g-signal",
+ G_CALLBACK (on_control_proxy_g_signal),
+ manager);
+
manager->priv->name_owner = g_dbus_proxy_get_name_owner (manager->priv->control_proxy);
if (manager->priv->name_owner == NULL && manager->priv->name != NULL)
{
@@ -1362,10 +1367,6 @@ initable_init (GInitable *initable,
else
{
/* yay, we can get the objects */
- g_signal_connect (manager->priv->control_proxy,
- "g-signal",
- G_CALLBACK (on_control_proxy_g_signal),
- manager);
subscribe_signals (manager,
manager->priv->name_owner);
value = g_dbus_proxy_call_sync (manager->priv->control_proxy,