On Thu, Aug 16, 2001 at 11:16:28AM -0400, Dan McCormick wrote:
> Hi,
> 
> Below is a small app that reproduces the Gtk/delay problem.  If you
> comment out "use Gtk", as I've done, 'go2' gets called after one second
> and 'go' after 10, as you'd expect.  However, if you uncomment "use
> Gtk", the first 'go2' takes 10 seconds to get hit.
> 
> Does anyone know anything about the Gtk event loop, or how POE interacts
> with it, that could explain this behavior?
> 
> This has been tested on two Redhat Linux 7.1 systems.

[...]

Thanks, Dan!  Your test case fails beautifully, and I figured out why.
Moreover, it wasn't isolated to Gtk: your report helped fix the same
problem with Tk and Event too.

Gtk timeouts were only being set when the first alarm entered the
queue.  Subsequent alarms didn't refresh the timer, so your earlier
delay wasn't dispatched until the longer timeout came due.  I've fixed
the way the alarm queue interacts with event loops, and I verified
that your test case works with every event loop POE supports.

Fixes have been checked into the CVS repository.

-- Rocco Caputo / [EMAIL PROTECTED] / poe.perl.org / poe.sourceforge.net

Reply via email to