[telepathy-mission-control/master] Add hook in mcd_client_start_introspection for inactive Handlers

Simon McVittie simon.mcvittie at collabora.co.uk
Fri Sep 11 11:17:21 PDT 2009


Currently it just debugs, but when we support DRAFT2 contact caps, we'll
have to send the client's capabilities to all connections.
---
 src/mcd-dispatcher.c |   28 +++++++++++++++++-----------
 1 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/src/mcd-dispatcher.c b/src/mcd-dispatcher.c
index 4d7fb2b..592098b 100644
--- a/src/mcd-dispatcher.c
+++ b/src/mcd-dispatcher.c
@@ -2481,21 +2481,27 @@ mcd_client_start_introspection (McdClientProxy *proxy,
     {
         client_add_interface_by_id (client);
 
-        if ((client->interfaces & MCD_CLIENT_HANDLER) != 0 &&
-            _mcd_client_proxy_is_active (proxy))
+        if ((client->interfaces & MCD_CLIENT_HANDLER) != 0)
         {
-            DEBUG ("%s is an active, activatable Handler", client->name);
+            if (_mcd_client_proxy_is_active (proxy))
+            {
+                DEBUG ("%s is an active, activatable Handler", client->name);
 
-            /* We need to investigate whether it is handling any channels */
+                /* We need to investigate whether it is handling any channels */
 
-            if (!dispatcher->priv->startup_completed)
-                dispatcher->priv->startup_lock++;
+                if (!dispatcher->priv->startup_completed)
+                    dispatcher->priv->startup_lock++;
 
-            tp_cli_dbus_properties_call_get_all (client->proxy, -1,
-                                                 TP_IFACE_CLIENT_HANDLER,
-                                                 handler_get_all_cb,
-                                                 NULL, NULL,
-                                                 G_OBJECT (dispatcher));
+                tp_cli_dbus_properties_call_get_all (client->proxy, -1,
+                                                     TP_IFACE_CLIENT_HANDLER,
+                                                     handler_get_all_cb,
+                                                     NULL, NULL,
+                                                     G_OBJECT (dispatcher));
+            }
+            else
+            {
+                DEBUG ("%s is a Handler but not active", client->name);
+            }
         }
     }
 
-- 
1.5.6.5




More information about the telepathy-commits mailing list