summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2023-04-20 15:29:40 +0200
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2023-04-20 15:29:40 +0200
commitbcab001eb53b86eacdc3f739638cf1758ca42e94 (patch)
treec7030fc1544a9a5bd58a36744f13d9b4b60ea9e7 /src
parent8d79e4ad43a1ec3814033e1e2529d909ee8293d4 (diff)
Wayland: keep window resizable after native file chooser
Diffstat (limited to 'src')
-rw-r--r--src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx
index e76820057..c50d1fabc 100644
--- a/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx
+++ b/src/drivers/Wayland/Fl_Wayland_Screen_Driver.cxx
@@ -1641,6 +1641,10 @@ void *Fl_Wayland_Screen_Driver::control_maximize_button(void *data) {
if (dim->tracker->exists()) {
Fl_Window *win = (Fl_Window*)dim->tracker->widget();
win->size_range(dim->minw, dim->minh, dim->maxw, dim->maxh);
+ float f = Fl::screen_scale(win->screen_num());
+ struct libdecor_state *state = libdecor_state_new(int(win->w() * f), int(win->h() * f));
+ libdecor_frame_commit(fl_wl_xid(win)->frame, state, NULL);
+ libdecor_state_free(state);
}
first_dim = dim->next;
delete dim->tracker;