]> git.0d.be Git - empathy.git/commitdiff
use tpf_persona_dup_for_contact()
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Fri, 9 Dec 2011 09:51:13 +0000 (10:51 +0100)
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Wed, 14 Dec 2011 09:52:33 +0000 (10:52 +0100)
https://bugzilla.gnome.org/show_bug.cgi?id=665853

libempathy/empathy-utils.c

index 972abe65e2ae6011aef33d1f5a6a0a6b4851145a..c5016c2351b6cc1e62e1b647ae23526abab04d71 100644 (file)
@@ -1167,31 +1167,28 @@ empathy_sasl_channel_supports_mechanism (TpChannel *channel,
 FolksIndividual *
 empathy_create_individual_from_tp_contact (TpContact *contact)
 {
-  TpAccount *account;
-  TpConnection *connection;
-  TpfPersonaStore *store;
   GeeSet *personas;
   TpfPersona *persona;
   FolksIndividual *individual;
 
-  connection = tp_contact_get_connection (contact);
-  account = tp_connection_get_account (connection);
-
-  store = tpf_persona_store_new (account);
+  persona = tpf_persona_dup_for_contact (contact);
+  if (persona == NULL)
+    {
+      DEBUG ("Failed to get a persona for %s",
+          tp_contact_get_identifier (contact));
+      return NULL;
+    }
 
   personas = GEE_SET (
       gee_hash_set_new (FOLKS_TYPE_PERSONA, g_object_ref, g_object_unref,
       g_direct_hash, g_direct_equal));
 
-  persona = tpf_persona_new (contact, store);
-
   gee_collection_add (GEE_COLLECTION (personas), persona);
 
   individual = folks_individual_new (personas);
 
   g_clear_object (&persona);
   g_clear_object (&personas);
-  g_object_unref (store);
 
   return individual;
 }