commit efc08ec8880b8078d35f687c7913f787efc85f72
parent a83773e5cad9c3c988a664e177a885c61457c03a
Author: emersion <contact@emersion.fr>
Date: Wed, 19 Sep 2018 15:21:04 +0200
Fix segfault when executing command without focus
Diffstat:
1 file changed, 9 insertions(+), 4 deletions(-)
diff --git a/sway/commands.c b/sway/commands.c
@@ -215,18 +215,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;
}
}