diff --git a/src/wl_window.c b/src/wl_window.c index 3c700bf4..5ec810bc 100644 --- a/src/wl_window.c +++ b/src/wl_window.c @@ -816,11 +816,14 @@ void _glfwPlatformMaximizeWindow(_GLFWwindow* window) void _glfwPlatformShowWindow(_GLFWwindow* window) { - if (_glfw.wl.wmBase && !window->wl.xdg.toplevel) - createXdgSurface(window); - else if (!window->wl.shellSurface) - createShellSurface(window); - window->wl.visible = GLFW_TRUE; + if (!window->wl.visible) + { + if (_glfw.wl.wmBase) + createXdgSurface(window); + else if (!window->wl.shellSurface) + createShellSurface(window); + window->wl.visible = GLFW_TRUE; + } } void _glfwPlatformHideWindow(_GLFWwindow* window)