summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>2007-01-28 19:48:31 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>2007-01-28 19:48:31 +0000
commitae8675a45fb6418d6a994b3b159be8bedb8689ef (patch)
treee2c03a056350fd581bbab16f1bed881d8b0056ae
parent48a997d0ad81fb213b0c52a878bc2fb196ada431 (diff)
Fix order of idle/check processing compared to events (STR #1535)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5645 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
-rw-r--r--CHANGES2
-rw-r--r--src/Fl_win32.cxx22
2 files changed, 13 insertions, 11 deletions
diff --git a/CHANGES b/CHANGES
index 44ba77638..2f4fbcf60 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,5 +1,7 @@
CHANGES IN FLTK 1.1.8
+ - WIN32 did check callbacks after the event processing instead of
+ before as documented (STR #1535)
- Fl_File_Chooser now hides the window before doing a callback
when the user clicks on the OK button (STR #1565)
- Fixed indentation of nested HTML elements (STR #1549)
diff --git a/src/Fl_win32.cxx b/src/Fl_win32.cxx
index e1a9dd5ea..632c6cb42 100644
--- a/src/Fl_win32.cxx
+++ b/src/Fl_win32.cxx
@@ -3,7 +3,7 @@
//
// WIN32-specific code for the Fast Light Tool Kit (FLTK).
//
-// Copyright 1998-2005 by Bill Spitzak and others.
+// Copyright 1998-2007 by Bill Spitzak and others.
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Library General Public
@@ -224,6 +224,16 @@ MSG fl_msg;
int fl_wait(double time_to_wait) {
int have_message = 0;
+ run_checks();
+
+ // idle processing
+ static char in_idle;
+ if (Fl::idle && !in_idle) {
+ in_idle = 1;
+ Fl::idle();
+ in_idle = 0;
+ }
+
#ifndef USE_ASYNC_SELECT
if (nfds) {
// For WIN32 we need to poll for socket input FIRST, since
@@ -291,16 +301,6 @@ int fl_wait(double time_to_wait) {
}
Fl::flush();
- // idle processing
- static char in_idle;
- if (Fl::idle && !in_idle) {
- in_idle = 1;
- Fl::idle();
- in_idle = 0;
- }
-
- run_checks();
-
// This should return 0 if only timer events were handled:
return 1;
}