aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-05-17 01:25:48 +0800
committerEmilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk>2011-05-17 17:26:59 +0800
commit09e82fd13d11424b5b4ca83cbc05ba9cd55c18a9 (patch)
tree53f1a970573d60c5972a3081a0996cae6f33c192
parent8e3f9e7514cc2284496e0f1db23180e20be4bea0 (diff)
downloadgsoc2013-empathy-09e82fd13d11424b5b4ca83cbc05ba9cd55c18a9.tar
gsoc2013-empathy-09e82fd13d11424b5b4ca83cbc05ba9cd55c18a9.tar.gz
gsoc2013-empathy-09e82fd13d11424b5b4ca83cbc05ba9cd55c18a9.tar.bz2
gsoc2013-empathy-09e82fd13d11424b5b4ca83cbc05ba9cd55c18a9.tar.lz
gsoc2013-empathy-09e82fd13d11424b5b4ca83cbc05ba9cd55c18a9.tar.xz
gsoc2013-empathy-09e82fd13d11424b5b4ca83cbc05ba9cd55c18a9.tar.zst
gsoc2013-empathy-09e82fd13d11424b5b4ca83cbc05ba9cd55c18a9.zip
Don't reset the alias when using empathy_contact_from_tpl_contact
contact_set_property() calls empathy_contact_set_alias(), which tries to set the alias on the FolksPersona, but we don't want to do that when creating an EmpathyContact from a TplEntity. So just set priv->alias instead of passing it to g_object_new() instead.
-rw-r--r--libempathy/empathy-contact.c12
1 files changed, 11 insertions, 1 deletions
diff --git a/libempathy/empathy-contact.c b/libempathy/empathy-contact.c
index 42faad483..08798fc6c 100644
--- a/libempathy/empathy-contact.c
+++ b/libempathy/empathy-contact.c
@@ -655,10 +655,20 @@ empathy_contact_from_tpl_contact (TpAccount *account,
if (existing_contact != NULL)
{
+ EmpathyContactPriv *priv;
+
retval = g_object_new (EMPATHY_TYPE_CONTACT,
"tp-contact", empathy_contact_get_tp_contact (existing_contact),
- "alias", tpl_entity_get_alias (tpl_entity),
NULL);
+
+ priv = GET_PRIV (retval);
+
+ /* contact_set_property() calls empathy_contact_set_alias(), which
+ * tries to set the alias on the FolksPersona, but we don't want to
+ * do that when creating an EmpathyContact from a TplEntity. So just
+ * set priv->alias instead of passing it to g_object_new() instead. */
+ g_free (priv->alias);
+ priv->alias = g_strdup (tpl_entity_get_alias (tpl_entity));
}
else
{