pidgin: 5663a88b: Remove a buddy that left a chat from an ...
qulogic at pidgin.im
qulogic at pidgin.im
Sat Jul 17 20:52:35 EDT 2010
----------------------------------------------------------------------
Revision: 5663a88b979c18ddf7efc848571a880ff8ae503e
Parent: 6fd13fcd41c95794bed286994ba8dc779da0aa01
Author: qulogic at pidgin.im
Date: 07/17/10 19:28:20
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/5663a88b979c18ddf7efc848571a880ff8ae503e
Changelog:
Remove a buddy that left a chat from an internal list. Otherwise, the
don't-add-multiple-endpoints stuff would not re-add them if re-invited
and re-joined.
Fixes #11505.
Changes against parent 6fd13fcd41c95794bed286994ba8dc779da0aa01
patched libpurple/protocols/msn/switchboard.c
-------------- next part --------------
============================================================
--- libpurple/protocols/msn/switchboard.c 756984b3e3e6f6f7f146a290d69994416340f837
+++ libpurple/protocols/msn/switchboard.c bb960ebe9c9c6a1c36902b33ff6a622e499f1e44
@@ -740,8 +740,13 @@ bye_cmd(MsnCmdProc *cmdproc, MsnCommand
else if ((swboard->current_users > 1) ||
(purple_conversation_get_type(swboard->conv) == PURPLE_CONV_TYPE_CHAT))
{
+ GList *passport;
/* This is a switchboard used for a chat */
purple_conv_chat_remove_user(PURPLE_CONV_CHAT(swboard->conv), user, NULL);
+
+ passport = g_list_find_custom(swboard->users, user, (GCompareFunc)strcmp);
+ g_free(passport->data);
+ swboard->users = g_list_delete_link(swboard->users, passport);
swboard->current_users--;
if (swboard->current_users == 0)
msn_switchboard_destroy(swboard);
More information about the Commits
mailing list