]> git.0d.be Git - empathy.git/commitdiff
factor out create_individual_from_persona()
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Wed, 28 Mar 2012 13:54:17 +0000 (15:54 +0200)
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>
Mon, 2 Apr 2012 07:28:47 +0000 (09:28 +0200)
libempathy/empathy-utils.c

index 2f4c9eddece5c09d9ab92bb2ed126f9d8cd147c0..5730ed555cdc0c1fa4a5a2dccc3f6af6b0842fa8 100644 (file)
@@ -1167,10 +1167,28 @@ empathy_sasl_channel_supports_mechanism (TpChannel *channel,
   return tp_strv_contains (available_mechanisms, mechanism);
 }
 
   return tp_strv_contains (available_mechanisms, mechanism);
 }
 
+static FolksIndividual *
+create_individual_from_persona (FolksPersona *persona)
+{
+  GeeSet *personas;
+  FolksIndividual *individual;
+
+  personas = GEE_SET (
+      gee_hash_set_new (FOLKS_TYPE_PERSONA, g_object_ref, g_object_unref,
+      g_direct_hash, g_direct_equal));
+
+  gee_collection_add (GEE_COLLECTION (personas), persona);
+
+  individual = folks_individual_new (personas);
+
+  g_clear_object (&personas);
+
+  return individual;
+}
+
 FolksIndividual *
 empathy_create_individual_from_tp_contact (TpContact *contact)
 {
 FolksIndividual *
 empathy_create_individual_from_tp_contact (TpContact *contact)
 {
-  GeeSet *personas;
   TpfPersona *persona;
   FolksIndividual *individual;
 
   TpfPersona *persona;
   FolksIndividual *individual;
 
@@ -1182,17 +1200,9 @@ empathy_create_individual_from_tp_contact (TpContact *contact)
       return NULL;
     }
 
       return NULL;
     }
 
-  personas = GEE_SET (
-      gee_hash_set_new (FOLKS_TYPE_PERSONA, g_object_ref, g_object_unref,
-      g_direct_hash, g_direct_equal));
-
-  gee_collection_add (GEE_COLLECTION (personas), persona);
-
-  individual = folks_individual_new (personas);
-
-  g_clear_object (&persona);
-  g_clear_object (&personas);
+  individual = create_individual_from_persona (FOLKS_PERSONA (persona));
 
 
+  g_object_unref (persona);
   return individual;
 }
 
   return individual;
 }