Include required Telepathy Connection ContactInfo features.
authorTravis Reitter <travis.reitter@collabora.co.uk>
Thu, 6 Oct 2011 22:00:46 +0000 (15:00 -0700)
committerTravis Reitter <travis.reitter@collabora.co.uk>
Tue, 11 Oct 2011 01:13:16 +0000 (18:13 -0700)
These are required to look up the connection's ContactInfoFlags.Can_Set
and SupportedFields. We need both to determine which ContactInfo fields
are writeable (for Tpf.Persona.writeable_properties).

backends/telepathy/lib/tpf-persona-store.vala

index 3f8c6ce..20b315f 100644 (file)
@@ -62,6 +62,12 @@ public class Tpf.PersonaStore : Folks.PersonaStore
         ContactFeature.CONTACT_INFO
       };
 
+  private static GLib.Quark[] _connection_features =
+      {
+        TelepathyGLib.Connection.get_feature_quark_contact_info (),
+        0
+      };
+
   private const string[] _always_writeable_properties =
     {
       "is-favourite"
@@ -581,12 +587,13 @@ public class Tpf.PersonaStore : Folks.PersonaStore
                   this._logger = null;
                 }
 
-              /* Ensure the account's prepared first. */
-              yield this.account.prepare_async (null);
-
               this.account.notify["connection"].connect (
                   this._notify_connection_cb);
 
+              /* Ensure the connection is prepared as necessary. */
+              yield this.account.connection.prepare_async (
+                  this._connection_features);
+
               /* immediately handle accounts which are not currently being
                * disconnected */
               if (this.account.connection != null)