Merge pull request #3397 from orestisf1993/randr-enable-disable

Fix bugs in enabling & disabling randr outputs
This commit is contained in:
Ingo Bürk
2018-11-10 21:56:34 +01:00
committed by GitHub
5 changed files with 42 additions and 70 deletions

View File

@ -972,7 +972,11 @@ bool workspace_move_to_output(Con *ws, Output *output) {
LOG("got output %p with content %p\n", output, content);
Con *previously_visible_ws = TAILQ_FIRST(&(content->focus_head));
LOG("Previously visible workspace = %p / %s\n", previously_visible_ws, previously_visible_ws->name);
if (previously_visible_ws) {
DLOG("Previously visible workspace = %p / %s\n", previously_visible_ws, previously_visible_ws->name);
} else {
DLOG("No previously visible workspace on output.\n");
}
bool workspace_was_visible = workspace_is_visible(ws);
if (con_num_children(ws->parent) == 1) {
@ -1030,6 +1034,10 @@ bool workspace_move_to_output(Con *ws, Output *output) {
workspace_show(ws);
}
if (!previously_visible_ws) {
return true;
}
/* NB: We cannot simply work with previously_visible_ws since it might
* have been cleaned up by workspace_show() already, depending on the
* focus order/number of other workspaces on the output.