aboutsummaryrefslogtreecommitdiffstats
path: root/sway/commands/focus.c
diff options
context:
space:
mode:
authorLibravatar Brian Ashworth <bosrsf04@gmail.com>2019-02-21 13:24:13 -0500
committerLibravatar emersion <contact@emersion.fr>2019-02-21 21:18:03 +0100
commitd3d7956576341bbbfb60d045175b0e8a44752e0b (patch)
tree0df81ca066ab77d569baf41623f652b1c7f8a638 /sway/commands/focus.c
parentMerge pull request #3743 from RedSoxFan/fix-output-get-active-workspace (diff)
downloadsway-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.c3
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 }