summaryrefslogtreecommitdiff
path: root/openbox
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-05-11 20:19:00 +0000
committerDana Jansens <danakj@orodu.net>2003-05-11 20:19:00 +0000
commit7e9ad375873a94f89b3894814ed61b0e24bd45a5 (patch)
tree1c50eb6f8efbefb86d3359e970aea6b95d2facc1 /openbox
parent81cc0749f8fe6e5a1f3474c07b26de2c49648526 (diff)
not everything in the stacking_list is a client anymore
Diffstat (limited to 'openbox')
-rw-r--r--openbox/screen.c32
1 files changed, 20 insertions, 12 deletions
diff --git a/openbox/screen.c b/openbox/screen.c
index b43be922..6a300d89 100644
--- a/openbox/screen.c
+++ b/openbox/screen.c
@@ -296,16 +296,20 @@ void screen_set_desktop(guint num)
/* show windows from top to bottom */
for (it = stacking_list; it != NULL; it = it->next) {
- Client *c = it->data;
- if (!c->frame->visible && client_should_show(c))
- frame_show(c->frame);
+ if (WINDOW_IS_CLIENT(it->data)) {
+ Client *c = it->data;
+ if (!c->frame->visible && client_should_show(c))
+ frame_show(c->frame);
+ }
}
/* hide windows from bottom to top */
for (it = g_list_last(stacking_list); it != NULL; it = it->prev) {
- Client *c = it->data;
- if (c->frame->visible && !client_should_show(c))
- frame_hide(c->frame);
+ if (WINDOW_IS_CLIENT(it->data)) {
+ Client *c = it->data;
+ if (c->frame->visible && !client_should_show(c))
+ frame_hide(c->frame);
+ }
}
/* focus the last focused window on the desktop, and ignore enter events
@@ -418,16 +422,20 @@ void screen_show_desktop(gboolean show)
if (show) {
/* bottom to top */
for (it = g_list_last(stacking_list); it != NULL; it = it->prev) {
- Client *client = it->data;
- if (client->frame->visible && !client_should_show(client))
- frame_hide(client->frame);
+ if (WINDOW_IS_CLIENT(it->data)) {
+ Client *client = it->data;
+ if (client->frame->visible && !client_should_show(client))
+ frame_hide(client->frame);
+ }
}
} else {
/* top to bottom */
for (it = stacking_list; it != NULL; it = it->next) {
- Client *client = it->data;
- if (!client->frame->visible && client_should_show(client))
- frame_show(client->frame);
+ if (WINDOW_IS_CLIENT(it->data)) {
+ Client *client = it->data;
+ if (!client->frame->visible && client_should_show(client))
+ frame_show(client->frame);
+ }
}
}