summaryrefslogtreecommitdiff
path: root/src/drivers
diff options
context:
space:
mode:
authorManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2025-08-20 08:59:41 +0200
committerManoloFLTK <41016272+ManoloFLTK@users.noreply.github.com>2025-08-20 08:59:41 +0200
commit3cf9390e9e4ce8961a4482138004a678f1b49097 (patch)
tree9d192182df6d28bbc584fcf1fd3bb89c62ef6a61 /src/drivers
parentdb94990c1f87d0c8ea3ba53e136b756f5619ad8a (diff)
Wayland: stop calling non-public libdecor_frame_get_content_{width,height} (#1296)
Diffstat (limited to 'src/drivers')
-rw-r--r--src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx
index 6026db2b4..5cba87436 100644
--- a/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx
+++ b/src/drivers/Wayland/Fl_Wayland_Window_Driver.cxx
@@ -910,16 +910,17 @@ static void handle_configure(struct libdecor_frame *frame,
}
window->state = window_state;
- // Weston, KWin, and some versions of Mutter, on purpose, don't set the
+ // Weston, KWin, and some old versions of Mutter, on purpose, don't set the
// window width x height when xdg_toplevel_configure runs twice
// during resizable window creation
// (see https://gitlab.freedesktop.org/wayland/wayland-protocols/-/issues/6).
// Consequently, libdecor_configuration_get_content_size() may return false twice.
- // In that case libdecor_frame_get_content_{width,height}() give the desired window size
+ // Weston and KWin, at least, don't change the window size asked by the client application
+ // which is available here in floating_{width,height}.
if (!libdecor_configuration_get_content_size(configuration, frame, &width, &height)) {
if (is_2nd_run) {
- width = libdecor_frame_get_content_width(frame);
- height = libdecor_frame_get_content_height(frame);
+ width = window->floating_width;
+ height = window->floating_height;
if (!driver->is_resizable()) {
libdecor_frame_set_min_content_size(frame, width, height);
libdecor_frame_set_max_content_size(frame, width, height);