[Pidgin] #1905: Better solution to 'Idleness Infinite Recursion' re changeset 947b20b6fc725a1f22dd7b7b23ebbaee89f0cfed

Pidgin trac at pidgin.im
Mon Jun 25 01:04:14 EDT 2007


#1905: Better solution to 'Idleness Infinite Recursion' re changeset
947b20b6fc725a1f22dd7b7b23ebbaee89f0cfed
-----------------------+----------------------------------------------------
 Reporter:  theprog    |       Type:  patch
   Status:  new        |   Priority:  minor
Component:  libpurple  |    Version:  2.0.2
 Keywords:             |    Pending:  0    
-----------------------+----------------------------------------------------
 The problem changeset:947b20b6fc725a1f22dd7b7b23ebbaee89f0cfed attempted
 to solve just works around the problem by creating a timer and hoping the
 OS doesn't make a context switch before
 ''purple_savedstatus_get_idleaway()'' finishes executing.

 The problem is actually caused because the 'isidleaway' pref is set before
 calling ''purple_savedstatus_getidleaway()'', which means all calls to
 ''purple_savedstatus_get_current()'' via the 'savedstatus-addnew' signal
 will cause infinite recursion.

 The situation can be avoided altogether if the 'isidle' status is not set
 until '''after''' the idle message is created by
 ''purple_savedstatus_getidleaway()''.

-- 
Ticket URL: <http://developer.pidgin.im/ticket/1905>
Pidgin <http://pidgin.im>
Pidgin


More information about the Tracker mailing list