]> git.sur5r.net Git - i3/i3/commitdiff
replace never-true condition with a working one
authorMichael Stapelberg <michael@stapelberg.de>
Sun, 15 Dec 2013 13:57:04 +0000 (14:57 +0100)
committerMichael Stapelberg <michael@stapelberg.de>
Sun, 22 Dec 2013 20:52:49 +0000 (21:52 +0100)
state->initial is set to false before calling x_push_node() since we
began pushing the window stack before pushing changes. Therefore, the
condition could never be true.

src/x.c

diff --git a/src/x.c b/src/x.c
index ac5498d2330d466fe03d60b3c7499c127c47356c..6fe7df383bafb77816e26af0989f946c7ba058bf 100644 (file)
--- a/src/x.c
+++ b/src/x.c
@@ -731,10 +731,9 @@ void x_push_node(Con *con) {
     }
 
     /* Map if map state changed, also ensure that the child window
-     * is changed if we are mapped *and* in initial state (meaning the
-     * container was empty before, but now got a child). Unmaps are handled in
-     * x_push_node_unmaps(). */
-    if ((state->mapped != con->mapped || (con->mapped && state->initial)) &&
+     * is changed if we are mapped and there is a new, unmapped child window.
+     * Unmaps are handled in x_push_node_unmaps(). */
+    if ((state->mapped != con->mapped || (con->window != NULL && !state->child_mapped)) &&
         con->mapped) {
         xcb_void_cookie_t cookie;