X11: Fix EWMH state update for hidden windows

The EWMH window state code assumed the window was mapped.

Fixes #1358.
This commit is contained in:
Camilla Löwy
2019-01-31 00:02:16 +01:00
parent 7f4dde15e4
commit 78e6a0063d
2 changed files with 11 additions and 4 deletions
+9 -4
View File
@@ -2410,16 +2410,21 @@ void _glfwPlatformSetWindowMonitor(_GLFWwindow* window,
_glfwInputWindowMonitor(window, monitor);
updateNormalHints(window, width, height);
updateWindowMode(window);
if (window->monitor)
{
XMapRaised(_glfw.x11.display, window->x11.handle);
if (waitForVisibilityNotify(window))
acquireMonitor(window);
if (!_glfwPlatformWindowVisible(window))
{
XMapRaised(_glfw.x11.display, window->x11.handle);
waitForVisibilityNotify(window);
}
updateWindowMode(window);
acquireMonitor(window);
}
else
{
updateWindowMode(window);
XMoveResizeWindow(_glfw.x11.display, window->x11.handle,
xpos, ypos, width, height);
}