diff --git a/CONTRIBUTORS.md b/CONTRIBUTORS.md index b39b44b8..98cc39a8 100644 --- a/CONTRIBUTORS.md +++ b/CONTRIBUTORS.md @@ -23,6 +23,7 @@ video tutorials. - Waris Boonyasiriwat - Kyle Brenneman - Rok Breulj + - TheBrokenRail - Kai Burjack - Martin Capitanio - Nicolas Caramelli @@ -143,6 +144,7 @@ video tutorials. - Jon Morton - Pierre Moulon - Martins Mozeiko + - James Murphy - Julian Møller - ndogxj - Kristian Nielsen diff --git a/README.md b/README.md index b041f2e7..476c4fe0 100644 --- a/README.md +++ b/README.md @@ -162,6 +162,8 @@ information on what to include when reporting a bug. - [Wayland] Bugfix: A window content scale event would be emitted every time the window resized - [Wayland] Bugfix: If `glfwInit` failed it would close stdin + - [Wayland] Bugfix: Manual resizing with fallback decorations behaved erratically + (#1991,#2115,#2127) ## Contact diff --git a/src/wl_window.c b/src/wl_window.c index d0239ed4..f9045cf9 100644 --- a/src/wl_window.c +++ b/src/wl_window.c @@ -538,8 +538,17 @@ static void xdgToplevelHandleConfigure(void* userData, if (width && height) { - window->wl.pending.width = width; - window->wl.pending.height = height; + if (window->wl.decorations.top.surface) + { + window->wl.pending.width = _glfw_max(0, width - GLFW_BORDER_SIZE * 2); + window->wl.pending.height = + _glfw_max(0, height - GLFW_BORDER_SIZE - GLFW_CAPTION_HEIGHT); + } + else + { + window->wl.pending.width = width; + window->wl.pending.height = height; + } } else {