From bece862a0fc4fc18ef9065b18cd28e2032d0d975 Mon Sep 17 00:00:00 2001
From: Miles Alan <m@milesalan.com>
Date: Mon, 21 Feb 2022 01:10:56 -0500
Subject: [PATCH] manage: For isfloating/oldstate check/set, ensure trans
 client actually exists

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 1ee4ea2..5f16260 100644
--- a/dwm.c
+++ b/dwm.c
@@ -1064,7 +1064,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 = t || c->isfixed;
 	if (c->isfloating)
 		XRaiseWindow(dpy, c->win);
 	attach(c);