Check for UNMAPPED instead of UNVIEWABLE

A window is unmapped if it is not mapped (oh noes! ;). If it is mapped, it can
be either mapped or unviewable. If any of its ancestors is unmapped, it's
unviewable, else it's unmapped

Since this code looks at children of the root window, it should never be seeing
clients which are unviewable (can one unmap the root window at all...?). What
this really wants to check for is unmapped, so this patch implements this.

Signed-off-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Julien Danjou <julien@danjou.info>
This commit is contained in:
Uli Schlachter 2010-03-29 11:17:51 +02:00 committed by Julien Danjou
parent e7d21e1fe3
commit 5c232572a3
1 changed files with 1 additions and 1 deletions

View File

@ -159,7 +159,7 @@ scan(void)
state = xwindow_get_state_reply(state_wins[i]); state = xwindow_get_state_reply(state_wins[i]);
if(!attr_r || attr_r->override_redirect if(!attr_r || attr_r->override_redirect
|| attr_r->map_state == XCB_MAP_STATE_UNVIEWABLE || attr_r->map_state == XCB_MAP_STATE_UNMAPPED
|| state == XCB_WM_STATE_WITHDRAWN) || state == XCB_WM_STATE_WITHDRAWN)
{ {
geom_wins[i] = NULL; geom_wins[i] = NULL;