diff options
Diffstat (limited to 'libempathy')
-rw-r--r-- | libempathy/empathy-tp-contact-list.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/libempathy/empathy-tp-contact-list.c b/libempathy/empathy-tp-contact-list.c index 8d88e00d5..646270ddd 100644 --- a/libempathy/empathy-tp-contact-list.c +++ b/libempathy/empathy-tp-contact-list.c @@ -498,6 +498,15 @@ tp_contact_list_remove_handle (EmpathyTpContactList *list, } static void +remove_from_member_if_needed (EmpathyTpContactList *list, + TpHandle handle) +{ + EmpathyTpContactListPriv *priv = GET_PRIV (list); + + tp_contact_list_remove_handle (list, priv->members, handle); +} + +static void tp_contact_list_publish_group_members_changed_cb (TpChannel *channel, gchar *message, GArray *added, @@ -615,8 +624,7 @@ tp_contact_list_subscribe_group_members_changed_cb (TpChannel *channel, /* Those contacts refuse to send us their presence, remove from members. */ for (i = 0; i < removed->len; i++) { - tp_contact_list_remove_handle (list, priv->members, - g_array_index (removed, TpHandle, i)); + remove_from_member_if_needed (list, g_array_index (removed, TpHandle, i)); } /* We want those contacts in our contact list but we don't get their |