diff options
author | 2019-02-21 13:24:13 -0500 | |
---|---|---|
committer | 2019-02-25 17:10:04 -0500 | |
commit | 42d25555293db5489036b0cd4128f6f45e383637 (patch) | |
tree | 1343100e914d7a29e38cfae078fe9225931032e0 /sway/commands/swap.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/commands/swap.c')
-rw-r--r-- | sway/commands/swap.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/sway/commands/swap.c b/sway/commands/swap.c index 0e2c2d10..b978af16 100644 --- a/sway/commands/swap.c +++ b/sway/commands/swap.c | |||
@@ -118,6 +118,10 @@ static void container_swap(struct sway_container *con1, | |||
118 | output_get_active_workspace(con1->workspace->output); | 118 | output_get_active_workspace(con1->workspace->output); |
119 | struct sway_workspace *vis2 = | 119 | struct sway_workspace *vis2 = |
120 | output_get_active_workspace(con2->workspace->output); | 120 | output_get_active_workspace(con2->workspace->output); |
121 | if (!sway_assert(vis1 && vis2, "con1 or con2 are on an output without a" | ||
122 | "workspace. This should not happen")) { | ||
123 | return; | ||
124 | } | ||
121 | 125 | ||
122 | char *stored_prev_name = NULL; | 126 | char *stored_prev_name = NULL; |
123 | if (seat->prev_workspace_name) { | 127 | if (seat->prev_workspace_name) { |