diff options
-rw-r--r-- | libempathy/empathy-tp-contact-list.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/libempathy/empathy-tp-contact-list.c b/libempathy/empathy-tp-contact-list.c index cb03a97b5..71d8efa67 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); + } } } |