From 20461f6167635f92b05e4fa1c029f27703208dd6 Mon Sep 17 00:00:00 2001 From: Xavier Claessens Date: Wed, 2 Apr 2008 09:42:22 +0000 Subject: ref the contact temporally when setting properties because it could destroy the object. svn path=/trunk/; revision=855 --- libempathy/empathy-contact.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'libempathy/empathy-contact.c') diff --git a/libempathy/empathy-contact.c b/libempathy/empathy-contact.c index ec91f3a00..d1c6b8284 100644 --- a/libempathy/empathy-contact.c +++ b/libempathy/empathy-contact.c @@ -381,13 +381,14 @@ empathy_contact_set_id (EmpathyContact *contact, g_free (priv->id); priv->id = g_strdup (id); + g_object_ref (contact); contact_set_ready_flag (contact, EMPATHY_CONTACT_READY_ID, !G_STR_EMPTY (id)); - g_object_notify (G_OBJECT (contact), "id"); if (G_STR_EMPTY (priv->name)) { g_object_notify (G_OBJECT (contact), "name"); } + g_object_unref (contact); } const gchar * @@ -422,10 +423,12 @@ empathy_contact_set_name (EmpathyContact *contact, g_free (priv->name); priv->name = g_strdup (name); + + g_object_ref (contact); contact_set_ready_flag (contact, EMPATHY_CONTACT_READY_NAME, name != NULL); - g_object_notify (G_OBJECT (contact), "name"); + g_object_unref (contact); } EmpathyAvatar * @@ -589,10 +592,12 @@ empathy_contact_set_handle (EmpathyContact *contact, } priv->handle = handle; + + g_object_ref (contact); contact_set_ready_flag (contact, EMPATHY_CONTACT_READY_HANDLE, handle != 0); - g_object_notify (G_OBJECT (contact), "handle"); + g_object_unref (contact); } EmpathyCapabilities -- cgit v1.2.3