[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