[hackers] [dwm][PATCH v2] manage: For isfloating/oldstate check/set, ensure trans client actually exists

From: <m_AT_milesalan.com>
Date: Mon, 21 Feb 2022 01:04:37 -0500

From: Miles Alan <m_AT_milesalan.com>

In certain instances trans may be set to a window that doesn't actually
map to a client via wintoclient; in this case it doesn't make sense
to set isfloating/oldstate since trans is essentially invalid in that
case / correlates to the above condition check where trans is set /
XGetTransientForHint is called.
---
 dwm.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dwm.c b/dwm.c
index a96f33c..e4e3708 100644
--- a/dwm.c
+++ b/dwm.c
_AT_@ -1063,7 +1063,7 @@ manage(Window w, XWindowAttributes *wa)
 	XSelectInput(dpy, w, EnterWindowMask|FocusChangeMask|PropertyChangeMask|StructureNotifyMask);
 	grabbuttons(c, 0);
 	if (!c->isfloating)
-		c->isfloating = c->oldstate = trans != None || c->isfixed;
+		c->isfloating = c->oldstate = (trans != None && t) || c->isfixed;
 	if (c->isfloating)
 		XRaiseWindow(dpy, c->win);
 	attach(c);
-- 
2.34.1
Received on Mon Feb 21 2022 - 07:04:37 CET

This archive was generated by hypermail 2.3.0 : Mon Feb 21 2022 - 07:12:34 CET