-
- // When getting called from GDK's time-out handler
- // we are no longer within GDK's grab on the GUI
- // thread so we must lock it here ourselves.
- gdk_threads_enter();
-
- bool moreIdles;
-
- // Send idle event to all who request them as long as
- // no events have popped up in the event queue.
- while ( (moreIdles = wxTheApp->ProcessIdle()) && gtk_events_pending() == 0)
- ;
-
- // Release lock again
- gdk_threads_leave();
+ {
+ // When getting called from GDK's time-out handler
+ // we are no longer within GDK's grab on the GUI
+ // thread so we must lock it here ourselves.
+ gdk_threads_enter();
+
+ // Send idle event to all who request them as long as
+ // no events have popped up in the event queue.
+ do {
+ moreIdles = wxTheApp->ProcessIdle();
+ } while (moreIdles && gtk_events_pending() == 0);
+
+ // Release lock again
+ gdk_threads_leave();
+ }