summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2022-03-16 08:00:45 +0100
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2022-03-16 08:00:51 +0100
commit6235abf79da7c3737980c699c14242cb59840042 (patch)
treee22ec6714961cfbf2c04b63e8914becef6bf9051 /src/drivers
parent576fbcde53d35464cbb498d7f089aef49967d222 (diff)
Add member variable Window Fl_Wayland_Image_Surface_Driver::pre_window.
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/Wayland/Fl_Wayland_Image_Surface_Driver.H2
-rw-r--r--src/drivers/Wayland/Fl_Wayland_Image_Surface_Driver.cxx2
2 files changed, 4 insertions, 0 deletions
diff --git a/src/drivers/Wayland/Fl_Wayland_Image_Surface_Driver.H b/src/drivers/Wayland/Fl_Wayland_Image_Surface_Driver.H
index cb80d355a..66ad51d78 100644
--- a/src/drivers/Wayland/Fl_Wayland_Image_Surface_Driver.H
+++ b/src/drivers/Wayland/Fl_Wayland_Image_Surface_Driver.H
@@ -21,10 +21,12 @@
class Fl_Wayland_Image_Surface_Driver : public Fl_Image_Surface_Driver {
virtual void end_current();
+ Window pre_window;
public:
Fl_Wayland_Image_Surface_Driver(int w, int h, int high_res, Fl_Offscreen off);
~Fl_Wayland_Image_Surface_Driver();
void set_current();
+ void end_current();
void translate(int x, int y);
void untranslate();
Fl_RGB_Image *image();
diff --git a/src/drivers/Wayland/Fl_Wayland_Image_Surface_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Image_Surface_Driver.cxx
index 5c18d3774..3e25b7873 100644
--- a/src/drivers/Wayland/Fl_Wayland_Image_Surface_Driver.cxx
+++ b/src/drivers/Wayland/Fl_Wayland_Image_Surface_Driver.cxx
@@ -56,12 +56,14 @@ Fl_Wayland_Image_Surface_Driver::~Fl_Wayland_Image_Surface_Driver() {
void Fl_Wayland_Image_Surface_Driver::set_current() {
Fl_Surface_Device::set_current();
((Fl_Wayland_Graphics_Driver*)fl_graphics_driver)->activate(offscreen, driver()->scale());
+ pre_window = fl_window;
fl_window = NULL;
}
void Fl_Wayland_Image_Surface_Driver::end_current() {
cairo_surface_t *surf = cairo_get_target(offscreen->cairo_);
cairo_surface_flush(surf);
+ fl_window = pre_window;
}
void Fl_Wayland_Image_Surface_Driver::translate(int x, int y) {