diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/drivers/Wayland/Fl_Wayland_Gl_Window_Driver.cxx | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/drivers/Wayland/Fl_Wayland_Gl_Window_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Gl_Window_Driver.cxx index fc9d12dcb..8165152b8 100644 --- a/src/drivers/Wayland/Fl_Wayland_Gl_Window_Driver.cxx +++ b/src/drivers/Wayland/Fl_Wayland_Gl_Window_Driver.cxx @@ -307,8 +307,13 @@ void Fl_Wayland_Gl_Window_Driver::swap_buffers() { wl_display_read_events(Fl_Wayland_Screen_Driver::wl_display); wl_display_dispatch_queue_pending(Fl_Wayland_Screen_Driver::wl_display, gl_event_queue); } + if (!egl_window) return; + int W = 0, H; + if (!pWindow->parent()) wl_egl_window_get_attached_size(egl_window, &W, &H); + if (!egl_resize_in_progress || W == 0) { + eglSwapBuffers(Fl_Wayland_Gl_Window_Driver::egl_display, egl_surface); + } egl_resize_in_progress = false; - eglSwapBuffers(Fl_Wayland_Gl_Window_Driver::egl_display, egl_surface); } } |
