aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy/empathy-tp-contact-factory.c
diff options
context:
space:
mode:
Diffstat (limited to 'libempathy/empathy-tp-contact-factory.c')
-rw-r--r--libempathy/empathy-tp-contact-factory.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/libempathy/empathy-tp-contact-factory.c b/libempathy/empathy-tp-contact-factory.c
index 479db6602..3058ec18c 100644
--- a/libempathy/empathy-tp-contact-factory.c
+++ b/libempathy/empathy-tp-contact-factory.c
@@ -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;
}