aboutsummaryrefslogtreecommitdiffstats
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
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.
-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