pidgin: d7d27a00: Patch from sadrul to fix IRC servers whi...

elb at pidgin.im elb at pidgin.im
Mon May 5 11:21:04 EDT 2008


-----------------------------------------------------------------
Revision: d7d27a0074887bcfe3ed4e95984dcad10133315a
Ancestor: db15574205f27c2eecbe6cd3d05dd004cf75050f
Author: elb at pidgin.im
Date: 2008-05-05T14:56:36
Branch: im.pidgin.pidgin
URL: http://d.pidgin.im/viewmtn/revision/info/d7d27a0074887bcfe3ed4e95984dcad10133315a

Modified files:
        ChangeLog libpurple/protocols/irc/msgs.c

ChangeLog: 

Patch from sadrul to fix IRC servers which neglect to send RPL_LISTSTART
(321) before sending their channel list with RPL_LIST (322).

Fixes #2225

-------------- next part --------------
============================================================
--- ChangeLog	431f93dd00a1a226b1dd541db10cf7faa2d688c0
+++ ChangeLog	8b8961f21527ce73884fe773cd9db0d0e6f01d5e
@@ -9,6 +9,8 @@ version 2.x.x:
 	  switching between different operating systems.
 	* Fix reception of IRC PART without a part message on Undernet
 	  (fixes a problem with litter in the channel user list).
+	* IRC no longer crashes on /list on servers which erroneously omit
+	  RPL_LISTSTART.
 
 	Pidgin:
 	* The typing notification in the conversation history can be disabled or
============================================================
--- libpurple/protocols/irc/msgs.c	e1d3b9eb36e2dc597aea90b75c98aba82875a985
+++ libpurple/protocols/irc/msgs.c	aca0a320af3f8a3ff966ab46bb9561e000445237
@@ -422,6 +422,11 @@ void irc_msg_list(struct irc_conn *irc, 
 		if (!args[0] || !args[1] || !args[2] || !args[3])
 			return;
 
+		if (!purple_roomlist_get_in_progress(irc->roomlist)) {
+			purple_debug_warning("irc", "Buggy server didn't send RPL_LISTSTART.\n");
+			purple_roomlist_set_in_progress(irc->roomlist, TRUE);
+		}
+
 		room = purple_roomlist_room_new(PURPLE_ROOMLIST_ROOMTYPE_ROOM, args[1], NULL);
 		purple_roomlist_room_add_field(irc->roomlist, room, args[1]);
 		purple_roomlist_room_add_field(irc->roomlist, room, GINT_TO_POINTER(strtol(args[2], NULL, 10)));


More information about the Commits mailing list