]> git.sur5r.net Git - i3/i3/commitdiff
x: only configure window coordinates when height > 0
authorMichael Stapelberg <michael@stapelberg.de>
Sun, 10 Jul 2011 20:59:04 +0000 (22:59 +0200)
committerMichael Stapelberg <michael@stapelberg.de>
Sun, 10 Jul 2011 20:59:04 +0000 (22:59 +0200)
Fixes some X11 errors

src/x.c

diff --git a/src/x.c b/src/x.c
index 791069d551f03bdcd992b99a5f0faf33f2b4d7a7..3c2e1ef632c4355d1dc2aadac5607c445b1d8795 100644 (file)
--- a/src/x.c
+++ b/src/x.c
@@ -558,8 +558,9 @@ void x_push_node(Con *con) {
     }
 
     bool fake_notify = false;
-    /* set new position if rect changed */
-    if (memcmp(&(state->rect), &rect, sizeof(Rect)) != 0) {
+    /* Set new position if rect changed (and if height > 0) */
+    if (memcmp(&(state->rect), &rect, sizeof(Rect)) != 0 &&
+        rect.height > 0) {
         /* We first create the new pixmap, then render to it, set it as the
          * background and only afterwards change the window size. This reduces
          * flickering. */
@@ -568,8 +569,7 @@ void x_push_node(Con *con) {
          * is enough to check if width/height have changed. Also, we don’t
          * create a pixmap at all when the window is actually not visible
          * (height == 0). */
-        if (rect.height > 0 &&
-            (state->rect.width != rect.width ||
+        if ((state->rect.width != rect.width ||
             state->rect.height != rect.height)) {
             DLOG("CACHE: creating new pixmap for con %p (old: %d x %d, new: %d x %d)\n",
                     con, state->rect.width, state->rect.height,