diff options
author | Brian Ashworth <bosrsf04@gmail.com> | 2019-02-21 13:24:13 -0500 |
---|---|---|
committer | emersion <contact@emersion.fr> | 2019-02-21 21:18:03 +0100 |
commit | d3d7956576341bbbfb60d045175b0e8a44752e0b (patch) | |
tree | 0df81ca066ab77d569baf41623f652b1c7f8a638 /sway/commands/focus.c | |
parent | Merge pull request #3743 from RedSoxFan/fix-output-get-active-workspace (diff) | |
download | sway-d3d7956576341bbbfb60d045175b0e8a44752e0b.tar.gz sway-d3d7956576341bbbfb60d045175b0e8a44752e0b.tar.zst sway-d3d7956576341bbbfb60d045175b0e8a44752e0b.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/commands/focus.c')
-rw-r--r-- | sway/commands/focus.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sway/commands/focus.c b/sway/commands/focus.c index 79b2f551..25df5130 100644 --- a/sway/commands/focus.c +++ b/sway/commands/focus.c | |||
@@ -37,6 +37,9 @@ static struct sway_node *get_node_in_output_direction( | |||
37 | struct sway_output *output, enum wlr_direction dir) { | 37 | struct sway_output *output, enum wlr_direction dir) { |
38 | struct sway_seat *seat = config->handler_context.seat; | 38 | struct sway_seat *seat = config->handler_context.seat; |
39 | struct sway_workspace *ws = output_get_active_workspace(output); | 39 | struct sway_workspace *ws = output_get_active_workspace(output); |
40 | if (!sway_assert(ws, "Expected output to have a workspace")) { | ||
41 | return NULL; | ||
42 | } | ||
40 | if (ws->fullscreen) { | 43 | if (ws->fullscreen) { |
41 | return seat_get_focus_inactive(seat, &ws->fullscreen->node); | 44 | return seat_get_focus_inactive(seat, &ws->fullscreen->node); |
42 | } | 45 | } |