summaryrefslogtreecommitdiff
path: root/src/drivers/Xlib/Fl_Xlib_Copy_Surface_Driver.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'src/drivers/Xlib/Fl_Xlib_Copy_Surface_Driver.cxx')
-rw-r--r--src/drivers/Xlib/Fl_Xlib_Copy_Surface_Driver.cxx5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/drivers/Xlib/Fl_Xlib_Copy_Surface_Driver.cxx b/src/drivers/Xlib/Fl_Xlib_Copy_Surface_Driver.cxx
index 2f1edd9dd..5818eb2a5 100644
--- a/src/drivers/Xlib/Fl_Xlib_Copy_Surface_Driver.cxx
+++ b/src/drivers/Xlib/Fl_Xlib_Copy_Surface_Driver.cxx
@@ -28,7 +28,7 @@
class Fl_Xlib_Copy_Surface_Driver : public Fl_Copy_Surface_Driver {
friend class Fl_Copy_Surface_Driver;
- virtual void end_current_();
+ virtual void end_current();
protected:
Fl_Offscreen xid;
Window oldwindow;
@@ -70,6 +70,7 @@ Fl_Xlib_Copy_Surface_Driver::~Fl_Xlib_Copy_Surface_Driver() {
delete rgb;
fl_delete_offscreen(xid);
delete driver();
+ if (!need_push) end_current();
}
@@ -79,7 +80,7 @@ void Fl_Xlib_Copy_Surface_Driver::set_current() {
fl_window = xid;
}
-void Fl_Xlib_Copy_Surface_Driver::end_current_() {
+void Fl_Xlib_Copy_Surface_Driver::end_current() {
fl_window = oldwindow;
}