summaryrefslogtreecommitdiff
path: root/libempathy
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2009-11-11 16:20:01 +0000
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2009-11-11 17:02:03 +0000
commit5b3eb9d3062cbc50d9b18c75b349e9094c6924f9 (patch)
treeeba05b14023985dce1b5a19be37b5d1d35c32940 /libempathy
parent0c48f36a0cddfec954ed6c4e41c7dfff2743cd7f (diff)
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')
-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);