diff options
author | Brian Ashworth <bosrsf04@gmail.com> | 2019-02-21 13:24:13 -0500 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2019-02-25 17:10:04 -0500 |
commit | 42d25555293db5489036b0cd4128f6f45e383637 (patch) | |
tree | 1343100e914d7a29e38cfae078fe9225931032e0 /sway/desktop/output.c | |
parent | output_get_active_workspace: check workspaces length (diff) | |
download | sway-42d25555293db5489036b0cd4128f6f45e383637.tar.gz sway-42d25555293db5489036b0cd4128f6f45e383637.tar.zst sway-42d25555293db5489036b0cd4128f6f45e383637.zip |
Handle NULL from output_get_active_workspace
This modifies the places where output_get_active_workspace is called to
handle a NULL result. Some places already handled it and did not need a
change, some just have guard off code blocks, others return errors, and
some have sway_asserts since the case should never happen. A lot of this
is probably just safety precautions since they probably will never be
called when `output_get_active_workspace` is not fully configured with a
workspace.
Diffstat (limited to 'sway/desktop/output.c')
-rw-r--r-- | sway/desktop/output.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sway/desktop/output.c b/sway/desktop/output.c index 61beb7af..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, | |||
251 | }; | 251 | }; |
252 | 252 | ||
253 | struct sway_workspace *workspace = output_get_active_workspace(output); | 253 | struct sway_workspace *workspace = output_get_active_workspace(output); |
254 | if (!workspace) { | ||
255 | return; | ||
256 | } | ||
254 | struct sway_container *fullscreen_con = root->fullscreen_global; | 257 | struct sway_container *fullscreen_con = root->fullscreen_global; |
255 | if (fullscreen_con && container_is_scratchpad_hidden(fullscreen_con)) { | 258 | if (fullscreen_con && container_is_scratchpad_hidden(fullscreen_con)) { |
256 | fullscreen_con = NULL; | 259 | fullscreen_con = NULL; |