aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy/empathy-dispatch-operation.c
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2009-11-12 00:20:01 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2009-11-12 01:01:32 +0800
commit3a1d17fbbf289577c8849d6c087f864907e99a1a (patch)
tree2b059e8c19c301b03ffa555397ee99d61c09c36a /libempathy/empathy-dispatch-operation.c
parente22569b44b12df70532e12997fc15d3c2b507f79 (diff)
downloadgsoc2013-empathy-3a1d17fbbf289577c8849d6c087f864907e99a1a.tar
gsoc2013-empathy-3a1d17fbbf289577c8849d6c087f864907e99a1a.tar.gz
gsoc2013-empathy-3a1d17fbbf289577c8849d6c087f864907e99a1a.tar.bz2
gsoc2013-empathy-3a1d17fbbf289577c8849d6c087f864907e99a1a.tar.lz
gsoc2013-empathy-3a1d17fbbf289577c8849d6c087f864907e99a1a.tar.xz
gsoc2013-empathy-3a1d17fbbf289577c8849d6c087f864907e99a1a.tar.zst
gsoc2013-empathy-3a1d17fbbf289577c8849d6c087f864907e99a1a.zip
empathy_dispatch_operation_dispose: fix crash when disconnecting the ready signal
We were trying to disconnect the wrong signal and it should be disconnected before unrefing channel_wrapper.
Diffstat (limited to 'libempathy/empathy-dispatch-operation.c')
-rw-r--r--libempathy/empathy-dispatch-operation.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/libempathy/empathy-dispatch-operation.c b/libempathy/empathy-dispatch-operation.c
index 7eda94d35..20ebadb83 100644
--- a/libempathy/empathy-dispatch-operation.c
+++ b/libempathy/empathy-dispatch-operation.c
@@ -373,18 +373,16 @@ empathy_dispatch_operation_dispose (GObject *object)
g_object_unref (priv->connection);
- if (priv->channel_wrapper != NULL)
- g_object_unref (priv->channel_wrapper);
-
if (priv->ready_handler != 0)
g_signal_handler_disconnect (priv->channel_wrapper,
- priv->invalidated_handler);
+ priv->ready_handler);
+ if (priv->channel_wrapper != NULL)
+ g_object_unref (priv->channel_wrapper);
g_signal_handler_disconnect (priv->channel, priv->invalidated_handler);
g_object_unref (priv->channel);
-
if (priv->contact != NULL)
g_object_unref (priv->contact);