Marc R.J. Brevoort wrote:
> I have a similar situation where an add_timeout/repeat_timeout
> (sometimes, not always) freezes when Fl_Native_File chooser
> is open, only to happily resume after the chooser is closed
> again. This happens to my program which is running on Linux.
> I use a regular Fl_Window (double buffered), not Fl_Gl_Window.

        Hmm, on linux FNFC uses FLTK's own file chooser.

        So it uses FLTK's own app loop technique to wait for it.

        I'm actually not sure at all why the timeouts would stop.

        When the chooser is open on linux, FNFC goes into a wait loop
        that looks like this (in Fl_Native_File_Chooser_FLTK.cxx):

---- snip

    // SHOW
    file_chooser->show();

#ifdef FLTK1
    // FLTK1: BLOCK WHILE BROWSER SHOWN
    while ( file_chooser->shown() ) {
        Fl::wait();
    }
#else
    // FLTK2: BLOCK WHILE BROWSER SHOWN
    while ( file_chooser->visible() ) {
        fltk::wait();
    }
#endif

---- snip

        ..which I would think would keep timers alive.
        After that, it pretty much just returns to the caller.

        Try running your app in the debugger, and hit ^C when the timers stop
        to see if the calling stack is not in Fl::wait().. maybe some other part
        of the app is blocked.
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to