diff options
author | Sjoerd Simons <sjoerd.simons@collabora.co.uk> | 2009-01-10 00:15:10 +0800 |
---|---|---|
committer | Xavier Claessens <xclaesse@src.gnome.org> | 2009-01-10 00:15:10 +0800 |
commit | ac3d19d800cc16b24615e82b6b351f880c13d710 (patch) | |
tree | 7ea8980ee847a076159923d269b4c80ca73834a0 /libempathy/empathy-tp-call.c | |
parent | 2e78b7d4c7756864fba8b6024ad85b0f02ec5e0a (diff) | |
download | gsoc2013-empathy-ac3d19d800cc16b24615e82b6b351f880c13d710.tar gsoc2013-empathy-ac3d19d800cc16b24615e82b6b351f880c13d710.tar.gz gsoc2013-empathy-ac3d19d800cc16b24615e82b6b351f880c13d710.tar.bz2 gsoc2013-empathy-ac3d19d800cc16b24615e82b6b351f880c13d710.tar.lz gsoc2013-empathy-ac3d19d800cc16b24615e82b6b351f880c13d710.tar.xz gsoc2013-empathy-ac3d19d800cc16b24615e82b6b351f880c13d710.tar.zst gsoc2013-empathy-ac3d19d800cc16b24615e82b6b351f880c13d710.zip |
Don't close channels as a side-effect of disposing wrapper objects
Signed-off-by: Sjoerd Simons <sjoerd.simons@collabora.co.uk>
svn path=/trunk/; revision=2183
Diffstat (limited to 'libempathy/empathy-tp-call.c')
-rw-r--r-- | libempathy/empathy-tp-call.c | 13 |
1 files changed, 11 insertions, 2 deletions
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) |