[Pidgin] #12988: Persistent Status (Will Not Revert to Default 'Available') in AIM Protocol

Pidgin trac at pidgin.im
Tue Dec 14 15:44:15 EST 2010


#12988: Persistent Status (Will Not Revert to Default 'Available') in AIM Protocol
--------------------------------------------+-------------------------------
 Reporter:  jnshk                           |        Owner:  ivan.komarov
     Type:  defect                          |       Status:  closed      
Milestone:  2.7.8                           |    Component:  AIM         
  Version:  2.7.7                           |   Resolution:  fixed       
 Keywords:  status statuses persistent AIM  |  
--------------------------------------------+-------------------------------

Comment(by dustin):

 Some more observations about this issue:

 The problem with old status messages staying doesn't occur any more for
 some days now, so everything is ok with pidgin 2.7.4, 2.7.5-2.7.7 and
 2.7.7 with Mark's patch applied.

 It seems like there has been a change on the server.
 I no longer get an (info->status == NULL) when becoming available again,
 as was the case before (see purple-
 status_message_with2.7.7-works_again.log).

 However, the problem with old status messages still ''does'' occur in
 2.7.8devel:
 The old message remains in the buddy info window (and buddy list tooltip).

 I think that's because of this line in aim_info_extract():

 {{{
 --- pidgin-2.7.7clean/libpurple/protocols/oscar/family_locate.c 2010-12-14
 20:05:07.000000000 +0100
 +++ pidgin-2.7.8devel_clean/libpurple/protocols/oscar/family_locate.c
 2010-12-14 20:56:22.000000000 +0100
 @@ -1043,7 +1043,7 @@
                                                 } else {
 byte_stream_advance(bs, length2);
 outinfo->status_len = 0;
 -                                                       outinfo->status =
 g_strdup("");
 +                                                       outinfo->status =
 NULL;
 outinfo->status_encoding = NULL;
                                                 }
                                         } break;
 }}}

 Setting outinfo->status = NULL is ambiguous to aim_locate_adduserinfo(),
 actually meaning that status should not be updated.

 Also, looking at lines 1030-1050, I get the suspicion the bug was not so
 much the server sending a NULL, nor anything introduced into 2.7.5 (Also a
 NULL/nothing would have been interpreted as an empty string).

 It rather seems byte_stream_getstr() gave us a NULL for a mismatch in
 string length (which is now corrected?).

-- 
Ticket URL: <http://developer.pidgin.im/ticket/12988#comment:13>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list