[next] telepathy-salut: Channel managers: don' t crash on foreach_channel after disconnection
Simon McVittie
smcv at kemper.freedesktop.org
Wed May 7 02:18:39 PDT 2014
Module: telepathy-salut
Branch: next
Commit: 37877bd0e9ab71ba54fa9960b4e3d8c3c5368e3a
URL: http://cgit.freedesktop.org/telepathy/telepathy-salut/commit/?id=37877bd0e9ab71ba54fa9960b4e3d8c3c5368e3a
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Tue Apr 22 16:50:13 2014 +0100
Channel managers: don't crash on foreach_channel after disconnection
---
src/im-manager.c | 3 +++
src/muc-manager.c | 3 +++
src/tubes-manager.c | 3 +++
3 files changed, 9 insertions(+)
diff --git a/src/im-manager.c b/src/im-manager.c
index aab0cd5..4b01e8d 100644
--- a/src/im-manager.c
+++ b/src/im-manager.c
@@ -329,6 +329,9 @@ salut_im_manager_foreach_channel (TpChannelManager *iface,
SalutImManagerPrivate *priv = SALUT_IM_MANAGER_GET_PRIVATE (mgr);
struct foreach_data f;
+ if (priv->channels == NULL)
+ return;
+
f.func = func;
f.data = user_data;
diff --git a/src/muc-manager.c b/src/muc-manager.c
index db2b963..5448ce6 100644
--- a/src/muc-manager.c
+++ b/src/muc-manager.c
@@ -312,6 +312,9 @@ salut_muc_manager_foreach_channel (TpChannelManager *iface,
GHashTableIter iter;
gpointer value;
+ if (priv->text_channels == NULL)
+ return;
+
g_hash_table_iter_init (&iter, priv->text_channels);
while (g_hash_table_iter_next (&iter, NULL, &value))
{
diff --git a/src/tubes-manager.c b/src/tubes-manager.c
index 62485f6..c99b12b 100644
--- a/src/tubes-manager.c
+++ b/src/tubes-manager.c
@@ -547,6 +547,9 @@ salut_tubes_manager_foreach_channel (TpChannelManager *manager,
GHashTableIter iter;
gpointer value;
+ if (priv->tubes == NULL)
+ return;
+
g_hash_table_iter_init (&iter, priv->tubes);
while (g_hash_table_iter_next (&iter, NULL, &value))
{
More information about the telepathy-commits
mailing list