aboutsummaryrefslogtreecommitdiffstats
path: root/sway/commands/sticky.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/sticky.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/sticky.c')
-rw-r--r--sway/commands/sticky.c6
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 @@
9#include "sway/tree/view.h" 9#include "sway/tree/view.h"
10#include "sway/tree/workspace.h" 10#include "sway/tree/workspace.h"
11#include "list.h" 11#include "list.h"
12#include "log.h"
12#include "util.h" 13#include "util.h"
13 14
14struct cmd_results *cmd_sticky(int argc, char **argv) { 15struct cmd_results *cmd_sticky(int argc, char **argv) {
@@ -29,6 +30,11 @@ struct cmd_results *cmd_sticky(int argc, char **argv) {
29 // move container to active workspace 30 // move container to active workspace
30 struct sway_workspace *active_workspace = 31 struct sway_workspace *active_workspace =
31 output_get_active_workspace(container->workspace->output); 32 output_get_active_workspace(container->workspace->output);
33 if (!sway_assert(active_workspace,
34 "Expected output to have a workspace")) {
35 return cmd_results_new(CMD_FAILURE,
36 "Expected output to have a workspace");
37 }
32 if (container->workspace != active_workspace) { 38 if (container->workspace != active_workspace) {
33 struct sway_workspace *old_workspace = container->workspace; 39 struct sway_workspace *old_workspace = container->workspace;
34 container_detach(container); 40 container_detach(container);