summaryrefslogtreecommitdiff
path: root/sway/commands/swap.c
diff options
context:
space:
mode:
authorBrian Ashworth <[email protected]>2019-02-21 13:24:13 -0500
committeremersion <[email protected]>2019-02-21 21:18:03 +0100
commitd3d7956576341bbbfb60d045175b0e8a44752e0b (patch)
tree0df81ca066ab77d569baf41623f652b1c7f8a638 /sway/commands/swap.c
parent79c133182d85342748b284e20e1e634821ce419c (diff)
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.c4
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,
output_get_active_workspace(con1->workspace->output);
struct sway_workspace *vis2 =
output_get_active_workspace(con2->workspace->output);
+ if (!sway_assert(vis1 && vis2, "con1 or con2 are on an output without a"
+ "workspace. This should not happen")) {
+ return;
+ }
char *stored_prev_name = NULL;
if (seat->prev_workspace_name) {