[Pidgin] #2225: IRC /LIST causes pidgin to use 100% and crash
Pidgin
trac at pidgin.im
Mon May 5 00:43:00 EDT 2008
#2225: IRC /LIST causes pidgin to use 100% and crash
----------------------+-----------------------------------------------------
Reporter: xerces8 | Owner: elb
Type: defect | Status: reopened
Priority: minor | Milestone:
Component: IRC | Version: 2.0.2
Resolution: | Keywords:
Pending: 0 |
----------------------+-----------------------------------------------------
Comment (by sadrul):
It looks like the server in question doesn't send '321' (RPL_LISTSTART),
and starts sending '322' (RPL_LIST). The following patch seems to fix it:
{{{
============================================================
--- libpurple/protocols/irc/msgs.c
e1d3b9eb36e2dc597aea90b75c98aba82875a985
+++ libpurple/protocols/irc/msgs.c
64f61f5458a4c36dab99291358d4564619697c49
@@ -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", "Faulty 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)));
}}}
--
Ticket URL: <http://developer.pidgin.im/ticket/2225#comment:5>
Pidgin <http://pidgin.im>
Pidgin
More information about the Tracker
mailing list