[empathy/call1: 23/24] client-factory: ensure alias, presence, capabilities and avatar are prepared



commit 5c615ca9c2ffcff23925c154e36dfeccf416ec30
Author: Danielle Madeley <danielle madeley collabora co uk>
Date:   Tue Jan 17 14:30:06 2012 +1100

    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 files changed, 12 insertions(+), 6 deletions(-)
---
diff --git a/libempathy/empathy-client-factory.c b/libempathy/empathy-client-factory.c
index 035c569..294eaf5 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;
 }



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]