summaryrefslogtreecommitdiff
path: root/src/drivers/WinAPI
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/WinAPI')
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H1
-rw-r--r--src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx9
2 files changed, 10 insertions, 0 deletions
diff --git a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H
index 53c00cad4..7000356e3 100644
--- a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H
+++ b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.H
@@ -75,6 +75,7 @@ public:
void icons(HICON big_icon, HICON small_icon);
// this one is implemented in Fl_win32.cxx
virtual void capture_titlebar_and_borders(Fl_Shared_Image*& top, Fl_Shared_Image*& left, Fl_Shared_Image*& bottom, Fl_Shared_Image*& right);
+ virtual void wait_for_expose();
};
diff --git a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx
index 796f60c36..f1b086566 100644
--- a/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx
+++ b/src/drivers/WinAPI/Fl_WinAPI_Window_Driver.cxx
@@ -18,6 +18,7 @@
#include "../../config_lib.h"
+#include <FL/Fl.H>
#include "Fl_WinAPI_Window_Driver.H"
#include <windows.h>
@@ -247,6 +248,14 @@ void Fl_WinAPI_Window_Driver::icons(HICON big_icon, HICON small_icon)
Fl_X::i(pWindow)->set_icons();
}
+void Fl_WinAPI_Window_Driver::wait_for_expose() {
+ if (!pWindow->shown()) return;
+ Fl_X *i = Fl_X::i(pWindow);
+ while (!i || i->wait_for_expose) {
+ Fl::wait();
+ }
+}
+
//
// End of "$Id$".
//