]> git.0d.be Git - empathy.git/commitdiff
Stop using the old Capabilities iface if ContactCapabilities is implemented
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Wed, 13 Jan 2010 14:49:14 +0000 (14:49 +0000)
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Thu, 14 Jan 2010 12:59:29 +0000 (12:59 +0000)
libempathy/empathy-tp-contact-factory.c

index ffd3087dacb99d917987e9b026cbe4b0015e5ced..b8be403c681afbcc5f624ae7e2ab45d08982e0e0 100644 (file)
@@ -857,7 +857,13 @@ tp_contact_factory_add_contact (EmpathyTpContactFactory *tp_factory,
                        G_OBJECT (tp_factory));
        }
 
-       if (tp_proxy_has_interface_by_id (priv->connection,
+       if (priv->contact_caps_supported) {
+               tp_cli_connection_interface_contact_capabilities_call_get_contact_capabilities (
+                       priv->connection, -1, &handles,
+                       tp_contact_factory_got_contact_capabilities, NULL, NULL,
+                       G_OBJECT (tp_factory));
+       }
+       else if (tp_proxy_has_interface_by_id (priv->connection,
                        TP_IFACE_QUARK_CONNECTION_INTERFACE_CAPABILITIES)) {
                tp_cli_connection_interface_capabilities_call_get_capabilities (
                        priv->connection, -1, &handles,
@@ -876,13 +882,6 @@ tp_contact_factory_add_contact (EmpathyTpContactFactory *tp_factory,
                                                                         NULL);
        }
 
-       if (priv->contact_caps_supported) {
-               tp_cli_connection_interface_contact_capabilities_call_get_contact_capabilities (
-                       priv->connection, -1, &handles,
-                       tp_contact_factory_got_contact_capabilities, NULL, NULL,
-                       G_OBJECT (tp_factory));
-       }
-
        DEBUG ("Contact added: %s (%d)",
                empathy_contact_get_id (contact),
                empathy_contact_get_handle (contact));
@@ -1429,18 +1428,6 @@ connection_ready_cb (TpConnection *connection,
                                                                         NULL, NULL,
                                                                         G_OBJECT (tp_factory),
                                                                         NULL);
-       tp_cli_connection_interface_capabilities_connect_to_capabilities_changed (priv->connection,
-                                                                                 tp_contact_factory_capabilities_changed_cb,
-                                                                                 NULL, NULL,
-                                                                                 G_OBJECT (tp_factory),
-                                                                                 NULL);
-
-
-       tp_cli_connection_interface_location_connect_to_location_updated (priv->connection,
-                                                                          tp_contact_factory_location_updated_cb,
-                                                                          NULL, NULL,
-                                                                          G_OBJECT (tp_factory),
-                                                                          NULL);
 
        if (tp_proxy_has_interface_by_id (connection,
                                TP_IFACE_QUARK_CONNECTION_INTERFACE_CONTACT_CAPABILITIES)) {
@@ -1450,6 +1437,19 @@ connection_ready_cb (TpConnection *connection,
                        priv->connection, tp_contact_factory_contact_capabilities_changed_cb,
                        NULL, NULL, G_OBJECT (tp_factory), NULL);
        }
+       else {
+               tp_cli_connection_interface_capabilities_connect_to_capabilities_changed (priv->connection,
+                                                                                         tp_contact_factory_capabilities_changed_cb,
+                                                                                         NULL, NULL,
+                                                                                         G_OBJECT (tp_factory),
+                                                                                         NULL);
+       }
+
+       tp_cli_connection_interface_location_connect_to_location_updated (priv->connection,
+                                                                          tp_contact_factory_location_updated_cb,
+                                                                          NULL, NULL,
+                                                                          G_OBJECT (tp_factory),
+                                                                          NULL);
 
        tp_cli_connection_interface_avatars_call_get_avatar_requirements (priv->connection,
                                                                          -1,