diff options
author | Danielle Madeley <danielle.madeley@collabora.co.uk> | 2012-01-17 11:30:06 +0800 |
---|---|---|
committer | Danielle Madeley <danielle.madeley@collabora.co.uk> | 2012-01-17 17:09:52 +0800 |
commit | 5c615ca9c2ffcff23925c154e36dfeccf416ec30 (patch) | |
tree | da1bc560a67e9a9b925882828fe02091c5ffdac9 | |
parent | 40aba36f8560ebbeae32c29f472576f80adec1e9 (diff) | |
download | gsoc2013-empathy-5c615ca9c2ffcff23925c154e36dfeccf416ec30.tar gsoc2013-empathy-5c615ca9c2ffcff23925c154e36dfeccf416ec30.tar.gz gsoc2013-empathy-5c615ca9c2ffcff23925c154e36dfeccf416ec30.tar.bz2 gsoc2013-empathy-5c615ca9c2ffcff23925c154e36dfeccf416ec30.tar.lz gsoc2013-empathy-5c615ca9c2ffcff23925c154e36dfeccf416ec30.tar.xz gsoc2013-empathy-5c615ca9c2ffcff23925c154e36dfeccf416ec30.tar.zst gsoc2013-empathy-5c615ca9c2ffcff23925c154e36dfeccf416ec30.zip |
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.
-rw-r--r-- | libempathy/empathy-client-factory.c | 18 |
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; } |