From ac3d19d800cc16b24615e82b6b351f880c13d710 Mon Sep 17 00:00:00 2001 From: Sjoerd Simons Date: Fri, 9 Jan 2009 16:15:10 +0000 Subject: Don't close channels as a side-effect of disposing wrapper objects Signed-off-by: Sjoerd Simons svn path=/trunk/; revision=2183 --- libempathy/empathy-tp-call.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'libempathy/empathy-tp-call.c') diff --git a/libempathy/empathy-tp-call.c b/libempathy/empathy-tp-call.c index 22c86232a..65c09ce65 100644 --- a/libempathy/empathy-tp-call.c +++ b/libempathy/empathy-tp-call.c @@ -478,7 +478,7 @@ tp_call_constructor (GType type, return object; } -static void +static void tp_call_finalize (GObject *object) { EmpathyTpCallPriv *priv = GET_PRIV (object); @@ -489,9 +489,18 @@ tp_call_finalize (GObject *object) g_slice_free (EmpathyTpCallStream, priv->video); g_object_unref (priv->group); + if (priv->group != NULL) + g_object_unref (priv->group); + + priv->group = NULL; + if (priv->channel != NULL) { - empathy_tp_call_close (EMPATHY_TP_CALL (object)); + g_signal_handlers_disconnect_by_func (priv->channel, + tp_call_channel_invalidated_cb, object); + + g_object_unref (priv->channel); + priv->channel = NULL; } if (priv->stream_engine != NULL) -- cgit v1.2.3