aboutsummaryrefslogtreecommitdiff
path: root/sway/config.c
diff options
context:
space:
mode:
Diffstat (limited to 'sway/config.c')
-rw-r--r--sway/config.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/sway/config.c b/sway/config.c
index 18fee404..d5d36306 100644
--- a/sway/config.c
+++ b/sway/config.c
@@ -710,11 +710,12 @@ bool read_config(FILE *file, struct sway_config *config,
config->current_config_line_number = line_number;
config->current_config_line = line;
struct cmd_results *res;
+ char *new_block = NULL;
if (block && strcmp(block, "<commands>") == 0) {
// Special case
res = config_commands_command(expanded);
} else {
- res = config_command(expanded);
+ res = config_command(expanded, &new_block);
}
switch(res->status) {
case CMD_FAILURE:
@@ -740,9 +741,9 @@ bool read_config(FILE *file, struct sway_config *config,
break;
case CMD_BLOCK:
- wlr_log(WLR_DEBUG, "Entering block '%s'", res->input);
- list_insert(stack, 0, strdup(res->input));
- if (strcmp(res->input, "bar") == 0) {
+ wlr_log(WLR_DEBUG, "Entering block '%s'", new_block);
+ list_insert(stack, 0, strdup(new_block));
+ if (strcmp(new_block, "bar") == 0) {
config->current_bar = NULL;
}
break;
@@ -764,6 +765,7 @@ bool read_config(FILE *file, struct sway_config *config,
sizeof(config->handler_context));
default:;
}
+ free(new_block);
free(expanded);
free_cmd_results(res);
}