From dab45aa28b1b60bc2407dc11a652aeb06a8655d4 Mon Sep 17 00:00:00 2001
From: Louis-Francis Ratté-Boulianne
 <louis-francis.ratte-boulianne@collabora.co.uk>
Date: Thu, 6 Aug 2009 13:24:42 -0400
Subject: Always add to publish list

---
 libempathy/empathy-tp-contact-list.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

(limited to 'libempathy')

diff --git a/libempathy/empathy-tp-contact-list.c b/libempathy/empathy-tp-contact-list.c
index 7c94bc756..f305cfae1 100644
--- a/libempathy/empathy-tp-contact-list.c
+++ b/libempathy/empathy-tp-contact-list.c
@@ -973,10 +973,13 @@ tp_contact_list_add (EmpathyContactList *list,
 		tp_cli_channel_interface_group_call_add_members (priv->subscribe,
 			-1, &handles, message, NULL, NULL, NULL, NULL);
 	}
-	if (priv->publish &&
-	    g_hash_table_lookup (priv->pendings, GUINT_TO_POINTER (handle))) {
-		tp_cli_channel_interface_group_call_add_members (priv->publish,
-			-1, &handles, message, NULL, NULL, NULL, NULL);
+	if (priv->publish) {
+		TpChannelGroupFlags flags = tp_channel_group_get_flags (priv->subscribe);
+		if (flags & TP_CHANNEL_GROUP_FLAG_CAN_ADD ||
+		    g_hash_table_lookup (priv->pendings, GUINT_TO_POINTER (handle))) {
+			tp_cli_channel_interface_group_call_add_members (priv->publish,
+				-1, &handles, message, NULL, NULL, NULL, NULL);
+		}
 	}
 }
 
-- 
cgit