summaryrefslogtreecommitdiff
path: root/src/drivers/Xlib/Fl_Xlib_Image_Surface_Driver.cxx
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2017-04-25 12:42:22 +0000
committerManolo Gouy <Manolo>2017-04-25 12:42:22 +0000
commit2ddc89fb6167b9c28795a20318576a98783e6c46 (patch)
treed5671ffa296ae47d312a67206d8812983dc33705 /src/drivers/Xlib/Fl_Xlib_Image_Surface_Driver.cxx
parentf15f4772434be30db5a718a33ada7899c39a6d9c (diff)
Add an argument to the private, virtual member function void Fl_Surface_Device::end_current_().
The X11 platform uses this argument to restore the correct clipping state after drawing to an Fl_Image_Surface object. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12226 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/drivers/Xlib/Fl_Xlib_Image_Surface_Driver.cxx')
-rw-r--r--src/drivers/Xlib/Fl_Xlib_Image_Surface_Driver.cxx5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/drivers/Xlib/Fl_Xlib_Image_Surface_Driver.cxx b/src/drivers/Xlib/Fl_Xlib_Image_Surface_Driver.cxx
index d98c129fb..49a84e7d8 100644
--- a/src/drivers/Xlib/Fl_Xlib_Image_Surface_Driver.cxx
+++ b/src/drivers/Xlib/Fl_Xlib_Image_Surface_Driver.cxx
@@ -27,7 +27,7 @@
class Fl_Xlib_Image_Surface_Driver : public Fl_Image_Surface_Driver {
friend class Fl_Image_Surface;
- virtual void end_current_();
+ virtual void end_current_(Fl_Surface_Device *next_current);
public:
Window pre_window;
Fl_Xlib_Image_Surface_Driver(int w, int h, int high_res, Fl_Offscreen off);
@@ -79,9 +79,10 @@ Fl_RGB_Image* Fl_Xlib_Image_Surface_Driver::image()
return image;
}
-void Fl_Xlib_Image_Surface_Driver::end_current_()
+void Fl_Xlib_Image_Surface_Driver::end_current_(Fl_Surface_Device *next_current)
{
fl_pop_clip();
+ next_current->driver()->restore_clip();
fl_window = pre_window;
}