DO NOT REPLY TO THIS MESSAGE. INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.
[STR New] Link: http://www.fltk.org/str.php?L1950 Version: 1.1.9 If a function to be run during idle time is added from the draw function of a class inheriting Fl_Widget (for example: if one wishes to update the exposed area incrementally) this function is not called (the first time) until an event has been received (e.g the user moves the mouse pointer over one of the windows belonging to the application). Once one event has been received the idle function is called as it should. As far as I understand this behavior occurs because the draw function is called from Fl::flush in turn called from Fl::wait line Fl.cxx:371 directly before fl_wait (the next line) (typically with time_to_wait==FOREVER if no other idle functions are active), the check that normally set the timeout to zero is earlier in the wait function. As far as I can see adding "if (idle) time_to_wait = 0.0;" between flush and wait (Fl.cxx:371-372 (fltk 1.1.9)) resolves this without side effects. Reproducing: (only tested using fvwm 2.4.19/Xorg 6.8.2) Run test/mandelbrot (from fltk 1.1.9) Partially cover the mandelbrot application with some other window, then move that window away from mandelbrot, thus invalidating a rectangle of mandelbrot (without moving the mouse pointer over the mandelbrot window or in any other way cause any event to be sent after the EXPOSE event (test window manager by doing the same with xev?). The exposed area remains un-updated until the mouse pointer is moved to the mandelbrot window. This bug also occurs when starting mandelbrot if the window doesn't come into focus, and when switching desks if the mandelbrot is not in focus (again using fvwm 2.4.19) (the whole fractal area remains gray) While mandelbrot.cxx uses the obsolete set_idle the exact same behavior occurs with add_idle (Alternatively, if this is a documentation error and add_idle shouldn't be used from draw, the mandelbrot application should probably be removed from the distribution too) Link: http://www.fltk.org/str.php?L1950 Version: 1.1.9 _______________________________________________ fltk-bugs mailing list [email protected] http://lists.easysw.com/mailman/listinfo/fltk-bugs
