From 408d0672a4b50dc7f9d8babd6d03f5cdcbe034da Mon Sep 17 00:00:00 2001 From: Manolo Gouy Date: Fri, 11 Mar 2016 08:31:36 +0000 Subject: Rewrite Fl_Window::wait_for_expose() using the window driver approach. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3-porting@11346 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- src/drivers/X11/Fl_X11_Window_Driver.H | 1 + src/drivers/X11/Fl_X11_Window_Driver.cxx | 8 ++++++++ 2 files changed, 9 insertions(+) (limited to 'src/drivers/X11') diff --git a/src/drivers/X11/Fl_X11_Window_Driver.H b/src/drivers/X11/Fl_X11_Window_Driver.H index 1eb161e0b..2d42b4410 100644 --- a/src/drivers/X11/Fl_X11_Window_Driver.H +++ b/src/drivers/X11/Fl_X11_Window_Driver.H @@ -74,6 +74,7 @@ public: virtual void icon(const void * ic); virtual void free_icons(); 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/X11/Fl_X11_Window_Driver.cxx b/src/drivers/X11/Fl_X11_Window_Driver.cxx index 32ac787a2..05c27a972 100644 --- a/src/drivers/X11/Fl_X11_Window_Driver.cxx +++ b/src/drivers/X11/Fl_X11_Window_Driver.cxx @@ -331,6 +331,14 @@ void Fl_X11_Window_Driver::capture_titlebar_and_borders(Fl_Shared_Image*& top, F previous->Fl_Surface_Device::set_current(); } +void Fl_X11_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$". // -- cgit v1.2.3