aboutsummaryrefslogtreecommitdiffstats
path: root/libempathy/empathy-dispatcher.c
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-07-06 17:23:46 +0800
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2010-07-06 17:27:09 +0800
commitc17ffb62ebc6e69071e0a0380b2402ba8201bb83 (patch)
treedfa3f922f768fa1052d7fb08fe7098e0c151aabe /libempathy/empathy-dispatcher.c
parent5be45ef12ac579cbbb914f4d056df51a787bf98f (diff)
downloadgsoc2013-empathy-c17ffb62ebc6e69071e0a0380b2402ba8201bb83.tar
gsoc2013-empathy-c17ffb62ebc6e69071e0a0380b2402ba8201bb83.tar.gz
gsoc2013-empathy-c17ffb62ebc6e69071e0a0380b2402ba8201bb83.tar.bz2
gsoc2013-empathy-c17ffb62ebc6e69071e0a0380b2402ba8201bb83.tar.lz
gsoc2013-empathy-c17ffb62ebc6e69071e0a0380b2402ba8201bb83.tar.xz
gsoc2013-empathy-c17ffb62ebc6e69071e0a0380b2402ba8201bb83.tar.zst
gsoc2013-empathy-c17ffb62ebc6e69071e0a0380b2402ba8201bb83.zip
dispatcher_channel_invalidated_cb: always remove invalidated chan from the list
It doesn't hurt to always try to remove it and prevent us of keeping an invalidated or disposed object around if something weird happens.
Diffstat (limited to 'libempathy/empathy-dispatcher.c')
-rw-r--r--libempathy/empathy-dispatcher.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libempathy/empathy-dispatcher.c b/libempathy/empathy-dispatcher.c
index ad9a236c2..778d3be62 100644
--- a/libempathy/empathy-dispatcher.c
+++ b/libempathy/empathy-dispatcher.c
@@ -414,6 +414,8 @@ dispatcher_channel_invalidated_cb (TpProxy *proxy,
connection = tp_channel_borrow_connection (TP_CHANNEL (proxy));
+ priv->channels = g_list_remove (priv->channels, proxy);
+
cd = g_hash_table_lookup (priv->connections, connection);
/* Connection itself invalidated? */
if (cd == NULL)
@@ -425,8 +427,6 @@ dispatcher_channel_invalidated_cb (TpProxy *proxy,
g_hash_table_remove (cd->dispatched_channels, object_path);
g_hash_table_remove (cd->dispatching_channels, object_path);
-
- priv->channels = g_list_remove (priv->channels, proxy);
}
static void