[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