Fix fullscreen focus bug and corresponding test flaw

As the workspace might be reached via recursion (e.g. moving from the edge
of a fullscreen split container), it's necessary to check for a fullscreen
container whenever a workspace is reached.
This commit is contained in:
Deiz
2012-10-06 16:41:04 -04:00
committed by Michael Stapelberg
parent 7a280f5691
commit e07803999f
3 changed files with 21 additions and 17 deletions

View File

@ -466,6 +466,11 @@ static bool _tree_next(Con *con, char way, orientation_t orientation, bool wrap)
/* Stop recursing at workspaces after attempting to switch to next
* workspace if possible. */
if (con->type == CT_WORKSPACE) {
if (con_get_fullscreen_con(con, CF_GLOBAL) ||
con_get_fullscreen_con(con, CF_OUTPUT)) {
DLOG("Cannot change workspace while in fullscreen mode.\n");
return false;
}
Output *current_output = get_output_containing(con->rect.x, con->rect.y);
Output *next_output;