summaryrefslogtreecommitdiff
path: root/src/drivers/Xlib/Fl_Xlib_Image_Surface_Driver.cxx
diff options
context:
space:
mode:
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 d27fb03f3..1a9e7796d 100644
--- a/src/drivers/Xlib/Fl_Xlib_Image_Surface_Driver.cxx
+++ b/src/drivers/Xlib/Fl_Xlib_Image_Surface_Driver.cxx
@@ -21,7 +21,7 @@
#include "../../Fl_Screen_Driver.H"
class Fl_Xlib_Image_Surface_Driver : public Fl_Image_Surface_Driver {
- virtual void end_current_();
+ virtual void end_current();
public:
Window pre_window;
Fl_Xlib_Image_Surface_Driver(int w, int h, int high_res, Fl_Offscreen off);
@@ -55,6 +55,7 @@ Fl_Xlib_Image_Surface_Driver::Fl_Xlib_Image_Surface_Driver(int w, int h, int hig
Fl_Xlib_Image_Surface_Driver::~Fl_Xlib_Image_Surface_Driver() {
if (offscreen && !external_offscreen) XFreePixmap(fl_display, offscreen);
delete driver();
+ if (is_current()) end_current();
}
void Fl_Xlib_Image_Surface_Driver::set_current() {
@@ -77,7 +78,7 @@ 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_window = pre_window;
}