This commit is contained in:
jlmxyz 2025-01-19 07:29:08 +00:00 committed by GitHub
commit 0a3310703e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 9 additions and 2 deletions

View File

@ -539,6 +539,7 @@ struct _GLFWwindow
GLFWbool focusOnShow; GLFWbool focusOnShow;
GLFWbool mousePassthrough; GLFWbool mousePassthrough;
GLFWbool shouldClose; GLFWbool shouldClose;
GLFWbool visible;
void* userPointer; void* userPointer;
GLFWbool doublebuffer; GLFWbool doublebuffer;
GLFWvidmode videoMode; GLFWvidmode videoMode;

View File

@ -149,7 +149,7 @@ static GLFWbool waitForVisibilityNotify(_GLFWwindow* window)
if (!waitForX11Event(&timeout)) if (!waitForX11Event(&timeout))
return GLFW_FALSE; return GLFW_FALSE;
} }
window->visible = GLFW_TRUE;
return GLFW_TRUE; return GLFW_TRUE;
} }
@ -1828,6 +1828,12 @@ static void processEvent(XEvent *event)
return; return;
} }
case VisibilityNotify :
{
if (event->xvisibility.state == VisibilityFullyObscured) window->visible = GLFW_FALSE;
else window->visible = GLFW_TRUE;
}
case DestroyNotify: case DestroyNotify:
return; return;
} }
@ -2541,7 +2547,7 @@ GLFWbool _glfwWindowVisibleX11(_GLFWwindow* window)
{ {
XWindowAttributes wa; XWindowAttributes wa;
XGetWindowAttributes(_glfw.x11.display, window->x11.handle, &wa); XGetWindowAttributes(_glfw.x11.display, window->x11.handle, &wa);
return wa.map_state == IsViewable; return wa.map_state == IsViewable && window->visible == GLFW_TRUE;
} }
GLFWbool _glfwWindowMaximizedX11(_GLFWwindow* window) GLFWbool _glfwWindowMaximizedX11(_GLFWwindow* window)