]> git.0d.be Git - empathy.git/commitdiff
Make existing contact FT capable when the CM supports it
authorSjoerd Simons <sjoerd.simons@collabora.co.uk>
Mon, 22 Dec 2008 17:56:29 +0000 (17:56 +0000)
committerXavier Claessens <xclaesse@src.gnome.org>
Mon, 22 Dec 2008 17:56:29 +0000 (17:56 +0000)
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
svn path=/trunk/; revision=2011

libempathy/empathy-tp-contact-factory.c

index 479db66028f1e9735bbc4715265bbd1b66a757b6..3058ec18c3aa34384440392ebeaa8a01300387d3 100644 (file)
@@ -843,6 +843,7 @@ get_requestable_channel_classes_cb (TpProxy *connection,
                GValue class = {0,};
                GValue *chan_type, *handle_type;
                GHashTable *fixed_prop;
+               GList *l;
 
                g_value_init (&class, TP_STRUCT_TYPE_REQUESTABLE_CHANNEL_CLASS);
                g_value_set_static_boxed (&class, g_ptr_array_index (classes, i));
@@ -869,6 +870,16 @@ get_requestable_channel_classes_cb (TpProxy *connection,
                /* We can request file transfer channel to contacts. */
                priv->can_request_ft = TRUE;
 
+               /* Update the capabilities of all contacts */
+               for (l = priv->contacts; l != NULL; l = g_list_next (l)) {
+                       EmpathyContact *contact = l->data;
+                       EmpathyCapabilities caps;
+
+                       caps = empathy_contact_get_capabilities (contact);
+                       empathy_contact_set_capabilities (contact, caps |
+                               EMPATHY_CAPABILITIES_FT);
+               }
+
                break;
        }