From 936307558ee25bf5d50d7ecf22972efd4c3abd4f Mon Sep 17 00:00:00 2001 From: Doug Binks Date: Sat, 8 Nov 2025 10:37:52 +0000 Subject: [PATCH] X11: Clamp w,h in glfwSetWindowSize to >= 1 - prevents BadValue error and program exit --- README.md | 5 +++-- src/x11_window.c | 4 ++++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 586d6be25..528054e2c 100644 --- a/README.md +++ b/README.md @@ -146,12 +146,13 @@ information on what to include when reporting a bug. from a modal to the content area - [X11] Bugfix: Running without a WM could trigger an assert (#2593,#2601,#2631) - [X11] Bugfix: Occasional crash when an idle display awakes (#2766) + - [X11] Bugfix: Prevent BadWindow when creating small windows with a content scale + less than 1 (#2754) + - [X11] Bugfix: Clamp width and height to >= 1 to prevent BadValue error and app exit - [Null] Added Vulkan 'window' surface creation via `VK_EXT_headless_surface` - [Null] Added EGL context creation on Mesa via `EGL_MESA_platform_surfaceless` - [EGL] Allowed native access on Wayland with `GLFW_CONTEXT_CREATION_API` set to `GLFW_NATIVE_CONTEXT_API` (#2518) - - [X11] Bugfix: Prevent BadWindow when creating small windows with a content scale - less than 1 (#2754) ## Contact diff --git a/src/x11_window.c b/src/x11_window.c index 65d7eb2cb..02c4ab58d 100644 --- a/src/x11_window.c +++ b/src/x11_window.c @@ -2207,6 +2207,10 @@ void _glfwGetWindowSizeX11(_GLFWwindow* window, int* width, int* height) void _glfwSetWindowSizeX11(_GLFWwindow* window, int width, int height) { + // The dimensions must be nonzero, or a BadValue error results. + width = _glfw_max(1, width); + height = _glfw_max(1, height); + if (window->monitor) { if (window->monitor->window == window)