summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2025-09-25 14:43:23 +0200
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2025-09-25 14:43:23 +0200
commit1d44c0ebae2736c51eaab755d45de44d12a75ed2 (patch)
tree36d98f4c5649f21b2d4078565c96a2c000ca93d4 /src
parentb7e52bb03cfd2d47249019de9c39cadcad18f547 (diff)
Wayland: improve support of draggable subwindow (related to #1307)
Diffstat (limited to 'src')
-rw-r--r--src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx5
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