From 1d44c0ebae2736c51eaab755d45de44d12a75ed2 Mon Sep 17 00:00:00 2001 From: ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> Date: Thu, 25 Sep 2025 14:43:23 +0200 Subject: Wayland: improve support of draggable subwindow (related to #1307) --- src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx index eb8d3647a..56a7b80d5 100644 --- a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx +++ b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx @@ -1517,6 +1517,7 @@ void Fl_Wayland_Window_Driver::makeWindow() wait_for_expose_value = 0; pWindow->border(0); checkSubwindowFrame(); // make sure subwindow doesn't leak outside parent + if (can_expand_outside_parent_) parent->covered = true; // for #1307 } else { // a window without decoration new_window->kind = UNFRAMED; @@ -1956,7 +1957,9 @@ void Fl_Wayland_Window_Driver::resize(int X, int Y, int W, int H) { wl_callback_destroy(fl_win->frame_cb); fl_win->frame_cb = NULL; } - if (parent_xid->buffer) Fl_Wayland_Graphics_Driver::buffer_commit(parent_xid); + if (parent_xid->buffer && !parent_xid->frame_cb) { + Fl_Wayland_Graphics_Driver::buffer_commit(parent_xid); + } } else { if (!(parent && parent->damage()) && !parent_xid->frame_cb) { // use the frame callback mechanism and memorize current X,Y,W,H values -- cgit v1.2.3