]> git.0d.be Git - empathy.git/commitdiff
Update FolksPersona:alias when updating EmpathyContact:alias
authorPhilip Withnall <philip.withnall@collabora.co.uk>
Wed, 7 Jul 2010 15:25:53 +0000 (16:25 +0100)
committerTravis Reitter <treitter@gmail.com>
Wed, 21 Jul 2010 20:25:14 +0000 (13:25 -0700)
libempathy/empathy-contact.c

index 57a4449c396a39286295192d42cdb2bf70f2e424..20fe9862e9f36142d3b605f584460e86993717f5 100644 (file)
@@ -629,6 +629,16 @@ empathy_contact_set_alias (EmpathyContact *contact,
 
   g_object_ref (contact);
 
+  /* Set the alias on the persona if possible */
+  persona = empathy_contact_get_persona (contact);
+  if (persona != NULL && FOLKS_IS_ALIAS (persona))
+    {
+      DEBUG ("Setting alias for contact %s to %s",
+          empathy_contact_get_id (contact), alias);
+
+      folks_alias_set_alias (FOLKS_ALIAS (persona), alias);
+    }
+
   if (tp_strdiff (alias, priv->alias))
     {
       g_free (priv->alias);
@@ -768,6 +778,11 @@ empathy_contact_set_persona (EmpathyContact *contact,
   priv->persona = g_object_ref (persona);
 
   g_object_notify (G_OBJECT (contact), "persona");
+
+  /* Set the persona's alias, since ours could've been set using
+   * empathy_contact_set_alias() before we had a persona; this happens when
+   * adding a contact. */
+  empathy_contact_set_alias (contact, priv->alias);
 }
 
 TpConnection *