diff options
author | Brian Ashworth <[email protected]> | 2019-02-21 13:24:13 -0500 |
---|---|---|
committer | emersion <[email protected]> | 2019-02-21 21:18:03 +0100 |
commit | d3d7956576341bbbfb60d045175b0e8a44752e0b (patch) | |
tree | 0df81ca066ab77d569baf41623f652b1c7f8a638 /sway/commands/sticky.c | |
parent | 79c133182d85342748b284e20e1e634821ce419c (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/sticky.c')
-rw-r--r-- | sway/commands/sticky.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/sway/commands/sticky.c b/sway/commands/sticky.c index 5b70199c..9df1fe09 100644 --- a/sway/commands/sticky.c +++ b/sway/commands/sticky.c @@ -9,6 +9,7 @@ #include "sway/tree/view.h" #include "sway/tree/workspace.h" #include "list.h" +#include "log.h" #include "util.h" struct cmd_results *cmd_sticky(int argc, char **argv) { @@ -29,6 +30,11 @@ struct cmd_results *cmd_sticky(int argc, char **argv) { // move container to active workspace struct sway_workspace *active_workspace = output_get_active_workspace(container->workspace->output); + if (!sway_assert(active_workspace, + "Expected output to have a workspace")) { + return cmd_results_new(CMD_FAILURE, + "Expected output to have a workspace"); + } if (container->workspace != active_workspace) { struct sway_workspace *old_workspace = container->workspace; container_detach(container); |