From c4df7ad7a50087cf2260bfedaeeb369d6fb050a7 Mon Sep 17 00:00:00 2001 From: cmeissl Date: Sun, 14 Nov 2021 23:23:54 +0100 Subject: [PATCH] On Wayland, commit the window surface after setting the decoration mode Fixes #2064. --- CHANGELOG.md | 1 + src/platform_impl/linux/wayland/window/mod.rs | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index e6d5f776..253f0d6c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ - **Breaking:** On Android, bump `ndk` and `ndk-glue` to 0.4. - On Windows, increase wait timer resolution for more accurate timing when using `WaitUntil`. - On macOS, fix native file dialogs hanging the event loop. +- On Wayland, implement a workaround for wrong configure size when using `xdg_decoration` in `kwin_wayland` # 0.25.0 (2021-05-15) diff --git a/src/platform_impl/linux/wayland/window/mod.rs b/src/platform_impl/linux/wayland/window/mod.rs index 2ced24db..3dc6c4da 100644 --- a/src/platform_impl/linux/wayland/window/mod.rs +++ b/src/platform_impl/linux/wayland/window/mod.rs @@ -139,6 +139,12 @@ impl Window { } else { window.set_decorate(Decorations::None); } + // Without this commit here at least on kwin 5.23.3 the initial configure + // will have a size (1,1), the second configure including the decoration + // mode will have the min_size as its size. With this commit the initial + // configure will have no size, the application will draw it's content + // with the initial size and everything works as expected afterwards. + window.surface().commit(); // Min dimensions. let min_size = attributes