stacking_list contains ObWindows that may or may not be ObClients
authorMikael Magnusson <mikachu@comhem.se>
Sat, 19 Aug 2006 15:22:55 +0000 (15:22 +0000)
committerMikael Magnusson <mikachu@comhem.se>
Sat, 19 Aug 2006 15:22:55 +0000 (15:22 +0000)
openbox/action.c

index c0195dd..a30e604 100644 (file)
@@ -1095,17 +1095,19 @@ void action_raiselower(union ActionData *data)
     gboolean raise = FALSE;
 
     for (it = stacking_list; it; it = g_list_next(it)) {
-        ObClient *cit = it->data;
-
-        if (cit == c) break;
-        if (client_normal(cit) == client_normal(c) &&
-            cit->layer == c->layer &&
-            cit->frame->visible &&
-            !client_search_transient(c, cit))
-        {
-            if (RECT_INTERSECTS_RECT(cit->frame->area, c->frame->area)) {
-                raise = TRUE;
-                break;
+        if (WINDOW_IS_CLIENT(it->data)) {
+            ObClient *cit = it->data;
+
+            if (cit == c) break;
+            if (client_normal(cit) == client_normal(c) &&
+                    cit->layer == c->layer &&
+                    cit->frame->visible &&
+                    !client_search_transient(c, cit))
+            {
+                if (RECT_INTERSECTS_RECT(cit->frame->area, c->frame->area)) {
+                    raise = TRUE;
+                    break;
+                }
             }
         }
     }