diff options
author | emersion <contact@emersion.fr> | 2018-09-20 18:36:47 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-09-20 18:36:47 +0200 |
commit | fa4308c5abecaeef870aced574e9d05e24e62392 (patch) | |
tree | a734e27f2c4045648a2baf67385ff761bcb96fa3 | |
parent | 6ec362622841a3efe336daf9e74edca16e4bf984 (diff) | |
parent | efc08ec8880b8078d35f687c7913f787efc85f72 (diff) | |
download | sway-fa4308c5abecaeef870aced574e9d05e24e62392.tar.xz |
Merge pull request #2671 from emersion/output-execute-no-focus
Fix segfault when executing command without focus
-rw-r--r-- | sway/commands.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/sway/commands.c b/sway/commands.c index 27a88319..07169f1e 100644 --- a/sway/commands.c +++ b/sway/commands.c @@ -216,18 +216,23 @@ struct cmd_handler *find_handler(char *line, struct cmd_handler *cmd_handlers, static void set_config_node(struct sway_node *node) { config->handler_context.node = node; + config->handler_context.container = NULL; + config->handler_context.workspace = NULL; + + if (node == NULL) { + return; + } + switch (node->type) { case N_CONTAINER: config->handler_context.container = node->sway_container; config->handler_context.workspace = node->sway_container->workspace; break; case N_WORKSPACE: - config->handler_context.container = NULL; config->handler_context.workspace = node->sway_workspace; break; - default: - config->handler_context.container = NULL; - config->handler_context.workspace = NULL; + case N_ROOT: + case N_OUTPUT: break; } } |