aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy/empathy-client-factory.c
diff options
context:
space:
mode:
Diffstat (limited to 'libempathy/empathy-client-factory.c')
-rw-r--r--libempathy/empathy-client-factory.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/libempathy/empathy-client-factory.c b/libempathy/empathy-client-factory.c
index 035c56956..294eaf5ff 100644
--- a/libempathy/empathy-client-factory.c
+++ b/libempathy/empathy-client-factory.c
@@ -169,15 +169,21 @@ empathy_client_factory_dup_contact_features (TpSimpleClientFactory *factory,
TpConnection *connection)
{
GArray *features;
- TpContactFeature feature;
+ TpContactFeature extra_features[] = {
+ TP_CONTACT_FEATURE_ALIAS,
+ TP_CONTACT_FEATURE_PRESENCE,
+ TP_CONTACT_FEATURE_AVATAR_TOKEN,
+ TP_CONTACT_FEATURE_AVATAR_DATA,
+ TP_CONTACT_FEATURE_CAPABILITIES,
+ /* Needed by empathy_individual_add_menu_item_new to check if a contact
+ * is already in the contact list. This feature is pretty cheap to
+ * prepare as it doesn't prepare the full roster. */
+ TP_CONTACT_FEATURE_SUBSCRIPTION_STATES,
+ };
features = chainup->dup_contact_features (factory, connection);
- /* Needed by empathy_individual_add_menu_item_new to check if a contact is
- * already in the contact list. This feature is pretty cheap to prepare as
- * it doesn't prepare the full roster. */
- feature = TP_CONTACT_FEATURE_SUBSCRIPTION_STATES;
- g_array_append_val (features, feature);
+ g_array_append_vals (features, extra_features, G_N_ELEMENTS (extra_features));
return features;
}