fix infinite stacking loop when enforcing nocomp
authorMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 15 Aug 2014 23:17:33 +0000 (19:17 -0400)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Fri, 15 Aug 2014 23:17:33 +0000 (19:17 -0400)
src/bin/e_comp.c

index d884f6c..5b95177 100644 (file)
@@ -475,7 +475,9 @@ nocomp:
           {
              if (c->nocomp && c->nocomp_ec)
                {
-                  E_CLIENT_REVERSE_FOREACH(c, ec)
+                  E_Client *nec = NULL;
+                  for (ec = e_client_top_get(c), nec = e_client_below_get(ec);
+                       (ec && nec) && (ec != nec); ec = nec, nec = e_client_below_get(ec))
                     {
                        if (ec == c->nocomp_ec) break;
                        if (e_client_is_stacking(ec)) continue;