aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy/empathy-tp-chat.c
diff options
context:
space:
mode:
Diffstat (limited to 'libempathy/empathy-tp-chat.c')
-rw-r--r--libempathy/empathy-tp-chat.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libempathy/empathy-tp-chat.c b/libempathy/empathy-tp-chat.c
index 6f55c6ba5..57e3277eb 100644
--- a/libempathy/empathy-tp-chat.c
+++ b/libempathy/empathy-tp-chat.c
@@ -896,7 +896,12 @@ tp_chat_dispose (GObject *object)
priv->dispose_has_run = TRUE;
if (priv->channel != NULL)
- empathy_tp_chat_close (self);
+ {
+ g_signal_handlers_disconnect_by_func (priv->channel,
+ tp_chat_invalidated_cb, self);
+ g_object_unref (priv->channel);
+ priv->channel = NULL;
+ }
if (priv->remote_contact != NULL)
g_object_unref (priv->remote_contact);