diff options
Diffstat (limited to 'src/drivers')
| -rw-r--r-- | src/drivers/Wayland/Fl_Wayland_Image_Surface_Driver.cxx | 2 | ||||
| -rw-r--r-- | src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx | 3 |
2 files changed, 4 insertions, 1 deletions
diff --git a/src/drivers/Wayland/Fl_Wayland_Image_Surface_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Image_Surface_Driver.cxx index 4f64434d8..b3dcc179c 100644 --- a/src/drivers/Wayland/Fl_Wayland_Image_Surface_Driver.cxx +++ b/src/drivers/Wayland/Fl_Wayland_Image_Surface_Driver.cxx @@ -60,12 +60,14 @@ void Fl_Wayland_Image_Surface_Driver::set_current() { ((Fl_Wayland_Graphics_Driver*)fl_graphics_driver)->set_buffer((struct fl_wld_buffer*)offscreen); pre_window = Fl_Wayland_Window_Driver::wld_window; Fl_Wayland_Window_Driver::wld_window = NULL; + fl_window = 0; } void Fl_Wayland_Image_Surface_Driver::end_current() { cairo_surface_t *surf = cairo_get_target(((struct fl_wld_buffer *)offscreen)->cairo_); cairo_surface_flush(surf); Fl_Wayland_Window_Driver::wld_window = pre_window; + fl_window = (Window)pre_window; } void Fl_Wayland_Image_Surface_Driver::translate(int x, int y) { diff --git a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx index e35cfddcb..43c3d3f1b 100644 --- a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx +++ b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx @@ -51,7 +51,7 @@ extern "C" { #define fl_min(a,b) ((a) < (b) ? (a) : (b)) #if !FLTK_USE_X11 -Window fl_window = 0; // temporary, until we get rid of this global for wayland +Window fl_window = 0; #endif @@ -362,6 +362,7 @@ void Fl_Wayland_Window_Driver::make_current() { } Fl_Wayland_Window_Driver::wld_window = window; + fl_window = (Window)window; float scale = Fl::screen_scale(pWindow->screen_num()) * window->scale; if (!window->buffer) { window->buffer = Fl_Wayland_Graphics_Driver::create_shm_buffer( |
