diff options
Diffstat (limited to 'sway/desktop')
-rw-r--r-- | sway/desktop/output.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sway/desktop/output.c b/sway/desktop/output.c index c5461ee6..d7d3fc07 100644 --- a/sway/desktop/output.c +++ b/sway/desktop/output.c @@ -251,6 +251,9 @@ static void output_for_each_surface(struct sway_output *output, }; struct sway_workspace *workspace = output_get_active_workspace(output); + if (!workspace) { + return; + } struct sway_container *fullscreen_con = root->fullscreen_global; if (fullscreen_con && container_is_scratchpad_hidden(fullscreen_con)) { fullscreen_con = NULL; @@ -320,6 +323,9 @@ struct sway_workspace *output_get_active_workspace(struct sway_output *output) { struct sway_seat *seat = input_manager_current_seat(); struct sway_node *focus = seat_get_active_tiling_child(seat, &output->node); if (!focus) { + if (!output->workspaces->length) { + return NULL; + } return output->workspaces->items[0]; } return focus->sway_workspace; |