commit bece862a0fc4fc18ef9065b18cd28e2032d0d975
Author:     Miles Alan <m...@milesalan.com>
AuthorDate: Mon Feb 21 01:10:56 2022 -0500
Commit:     Hiltjo Posthuma <hil...@codemadness.org>
CommitDate: Sun Mar 13 17:32:56 2022 +0100

    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.

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);

Reply via email to