Author: matt
Date: 2008-10-19 13:15:48 -0700 (Sun, 19 Oct 2008)
New Revision: 6474
Log:
Fixed adding an idle handler during a draw() call (STR #1950)
Modified:
branches/branch-1.1/CHANGES
branches/branch-1.1/src/Fl.cxx
branches/branch-1.1/test/mandelbrot.cxx
Modified: branches/branch-1.1/CHANGES
===================================================================
--- branches/branch-1.1/CHANGES 2008-10-19 20:15:32 UTC (rev 6473)
+++ branches/branch-1.1/CHANGES 2008-10-19 20:15:48 UTC (rev 6474)
@@ -9,6 +9,8 @@
function (STR #1945)
- Fl_Group and Fl_Scroll now resize themselves before
resizing their children (STR #2032)
+ - Fixed adding an idle handler during
+ a draw() call (STR #1950)
CHANGES IN FLTK 1.1.9
Modified: branches/branch-1.1/src/Fl.cxx
===================================================================
--- branches/branch-1.1/src/Fl.cxx 2008-10-19 20:15:32 UTC (rev 6473)
+++ branches/branch-1.1/src/Fl.cxx 2008-10-19 20:15:48 UTC (rev 6474)
@@ -323,6 +323,8 @@
if (idle) time_to_wait = 0.0;
}
flush();
+ if (idle && !in_idle) // 'idle' may have been set within flush()
+ time_to_wait = 0.0;
return fl_wait(time_to_wait);
#else
@@ -369,6 +371,8 @@
} else {
// do flush first so that user sees the display:
flush();
+ if (idle && !in_idle) // 'idle' may have been set within flush()
+ time_to_wait = 0.0;
return fl_wait(time_to_wait);
}
#endif
Modified: branches/branch-1.1/test/mandelbrot.cxx
===================================================================
--- branches/branch-1.1/test/mandelbrot.cxx 2008-10-19 20:15:32 UTC (rev
6473)
+++ branches/branch-1.1/test/mandelbrot.cxx 2008-10-19 20:15:48 UTC (rev
6474)
@@ -33,12 +33,12 @@
Drawing_Window mbrot;
Drawing_Window jbrot;
-void idle() {
- if (!mbrot.d->idle() && !(jbrot.d && jbrot.d->idle())) Fl::set_idle(0);
+void idle(void*) {
+ if (!mbrot.d->idle() && !(jbrot.d && jbrot.d->idle())) Fl::remove_idle(idle);
}
void set_idle() {
- Fl::set_idle(idle);
+ Fl::add_idle(idle);
}
static void window_callback(Fl_Widget*, void*) {exit(0);}
_______________________________________________
fltk-commit mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-commit