From 5c615ca9c2ffcff23925c154e36dfeccf416ec30 Mon Sep 17 00:00:00 2001 From: Danielle Madeley Date: Tue, 17 Jan 2012 14:30:06 +1100 Subject: client-factory: ensure alias, presence, capabilities and avatar are prepared Sometimes contacts are assumed to have these features prepared, but they don't always. Ensure they are prepared by the factory. --- libempathy/empathy-client-factory.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'libempathy/empathy-client-factory.c') 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; } -- cgit v1.2.3