summaryrefslogtreecommitdiff
path: root/src/Fl_Device.cxx
diff options
context:
space:
mode:
authorManolo Gouy <Manolo>2016-11-30 07:09:48 +0000
committerManolo Gouy <Manolo>2016-11-30 07:09:48 +0000
commit5bb4e853c7c80fa16e568f47c49c2282d197a19c (patch)
treeac17b71e7b3f34e688af8aa85d355f940a8a5438 /src/Fl_Device.cxx
parent4755ace9e9252c7cac6e29143fd0662ae62c2bf4 (diff)
Remove Fl_Image_Surface::end_current() to be called after usage of the drawing surface.
This ensures API compatibility with FLTK 1.3 where Fl_Surface_Device->set_current() is used to change the current drawing surface. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12125 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src/Fl_Device.cxx')
-rw-r--r--src/Fl_Device.cxx4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/Fl_Device.cxx b/src/Fl_Device.cxx
index 430aa2bf5..9f0b6292c 100644
--- a/src/Fl_Device.cxx
+++ b/src/Fl_Device.cxx
@@ -48,14 +48,17 @@ TODO:
*/
+Fl_Surface_Device *Fl_Surface_Device::pre_surface_ = NULL;
/** \brief Make this surface the current drawing surface.
This surface will receive all future graphics requests. */
void Fl_Surface_Device::set_current(void)
{
+ if (pre_surface_) pre_surface_->end_current_();
fl_graphics_driver = pGraphicsDriver;
_surface = this;
pGraphicsDriver->global_gc();
+ pre_surface_ = this;
}
Fl_Surface_Device* Fl_Surface_Device::_surface; // the current target surface of graphics operations
@@ -63,6 +66,7 @@ Fl_Surface_Device* Fl_Surface_Device::_surface; // the current target surface of
Fl_Surface_Device::~Fl_Surface_Device()
{
+ if (pre_surface_ == this) pre_surface_ = NULL;
}