[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