changeset 8661:060171053a32

[gaim-migrate @ 9413] Patch by Nickolai Zeldovich to fix an infinite loop bug that sometimes happens when MSN disconnects (closes patch #923500). committer: Tailor Script <tailor@pidgin.im>
author Christian Hammond <chipx86@chipx86.com>
date Wed, 14 Apr 2004 05:16:52 +0000
parents 7dfd4b16c937
children c47a90a0a3b1
files COPYRIGHT ChangeLog src/protocols/msn/session.c
diffstat 3 files changed, 10 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/COPYRIGHT	Wed Apr 14 04:10:26 2004 +0000
+++ b/COPYRIGHT	Wed Apr 14 05:16:52 2004 +0000
@@ -136,5 +136,6 @@
 Matt Wilson
 Ximian
 Jared Yanovich
+Nickolai Zeldovich
 Marco Ziech
 Jaroen Zwartepoorte
--- a/ChangeLog	Wed Apr 14 04:10:26 2004 +0000
+++ b/ChangeLog	Wed Apr 14 05:16:52 2004 +0000
@@ -17,6 +17,8 @@
 	* MSN error reporting works again (Stu Tomlinson)
 	* MSN e-mail notifications should no longer cause Gaim to crash
 	  (Felipe Contreras)
+	* Fixed an infinite loop bug that would sometimes cause MSN to lock
+	  up (Nickolai Zeldovich)
 	* All away messages should now show up in tooltips
 	* Removing zephyr buddies no longer crashes (Arun A. Tharuvai)
 
--- a/src/protocols/msn/session.c	Wed Apr 14 04:10:26 2004 +0000
+++ b/src/protocols/msn/session.c	Wed Apr 14 05:16:52 2004 +0000
@@ -65,7 +65,13 @@
 		msn_switchboard_destroy(session->switches->data);
 
 	while (session->lists.forward)
-		msn_user_destroy(session->lists.forward->data);
+	{
+		MsnUser *user = (MsnUser *)session->lists.forward->data;
+
+		msn_user_destroy(user);
+
+		session->lists.forward = g_slist_remove(session->lists.forward, user);
+	}
 
 	if (session->lists.allow != NULL)
 		g_slist_free(session->lists.allow);