aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libempathy/empathy-contact.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/libempathy/empathy-contact.c b/libempathy/empathy-contact.c
index 260543155..ea78476a9 100644
--- a/libempathy/empathy-contact.c
+++ b/libempathy/empathy-contact.c
@@ -822,7 +822,11 @@ empathy_contact_set_persona (EmpathyContact *contact,
return;
if (priv->persona != NULL)
- g_object_unref (priv->persona);
+ {
+ g_signal_handlers_disconnect_by_func (priv->persona,
+ folks_persona_notify_cb, contact);
+ g_object_unref (priv->persona);
+ }
priv->persona = g_object_ref (persona);
g_signal_connect (priv->persona, "notify",