libpurple/protocols/msn/switchboard.c

branch
cpw.qulogic.msnp16
changeset 30933
e8fb33bb8635
parent 30930
bea746046da3
parent 30528
8ebd24be8388
child 30935
b639ee326262
--- a/libpurple/protocols/msn/switchboard.c	Wed Jun 02 20:08:53 2010 +0000
+++ b/libpurple/protocols/msn/switchboard.c	Sat Jul 31 23:42:35 2010 +0000
@@ -746,8 +746,13 @@
 	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);

mercurial