diff options
author | Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> | 2011-05-17 01:25:48 +0800 |
---|---|---|
committer | Emilio Pozuelo Monfort <emilio.pozuelo@collabora.co.uk> | 2011-05-17 17:26:59 +0800 |
commit | 09e82fd13d11424b5b4ca83cbc05ba9cd55c18a9 (patch) | |
tree | 53f1a970573d60c5972a3081a0996cae6f33c192 | |
parent | 8e3f9e7514cc2284496e0f1db23180e20be4bea0 (diff) | |
download | gsoc2013-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.c | 12 |
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 { |