diff options
| author | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2025-09-25 14:43:23 +0200 |
|---|---|---|
| committer | ManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com> | 2025-09-25 14:43:23 +0200 |
| commit | 1d44c0ebae2736c51eaab755d45de44d12a75ed2 (patch) | |
| tree | 36d98f4c5649f21b2d4078565c96a2c000ca93d4 /src/drivers/Wayland | |
| parent | b7e52bb03cfd2d47249019de9c39cadcad18f547 (diff) | |
Wayland: improve support of draggable subwindow (related to #1307)
Diffstat (limited to 'src/drivers/Wayland')
| -rw-r--r-- | src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx | 5 |
1 files changed, 4 insertions, 1 deletions
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 |
