[telepathy-gabble/master] Ensure that the Initial{Channels, Handles} is never NULL
Sjoerd Simons
sjoerd.simons at collabora.co.uk
Fri Jan 8 07:03:06 PST 2010
---
src/muc-channel.c | 2 ++
src/muc-factory.c | 6 ++++++
2 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/src/muc-channel.c b/src/muc-channel.c
index 0642f7b..08973b0 100644
--- a/src/muc-channel.c
+++ b/src/muc-channel.c
@@ -1016,9 +1016,11 @@ gabble_muc_channel_set_property (GObject *object,
break;
case PROP_INITIAL_CHANNELS:
priv->initial_channels = g_value_dup_boxed (value);
+ g_assert (priv->initial_channels != NULL);
break;
case PROP_INITIAL_INVITEE_HANDLES:
priv->initial_handles = g_value_dup_boxed (value);
+ g_assert (priv->initial_handles != NULL);
break;
case PROP_INITIAL_INVITEE_IDS:
priv->initial_ids = g_value_dup_boxed (value);
diff --git a/src/muc-factory.c b/src/muc-factory.c
index f7fce4d..4e69682 100644
--- a/src/muc-factory.c
+++ b/src/muc-factory.c
@@ -448,6 +448,11 @@ new_muc_channel (GabbleMucFactory *fac,
}
}
+ if (initial_handles != NULL)
+ g_array_ref (initial_handles);
+ else
+ initial_handles = g_array_new (FALSE, TRUE, sizeof (TpHandle));
+
DEBUG ("creating new chan, object path %s", object_path);
chan = g_object_new (GABBLE_TYPE_MUC_CHANNEL,
@@ -470,6 +475,7 @@ new_muc_channel (GabbleMucFactory *fac,
g_free (object_path);
g_ptr_array_free (initial_channels_array, TRUE);
+ g_array_unref (initial_handles);
if (_gabble_muc_channel_is_ready (chan))
muc_ready_cb (chan, fac);
--
1.5.6.5
More information about the telepathy-commits
mailing list