diff options
author | Tony Crisci <[email protected]> | 2018-01-20 11:32:07 -0500 |
---|---|---|
committer | Tony Crisci <[email protected]> | 2018-01-20 11:34:57 -0500 |
commit | 9e0595f26bcca2a4d0aa735c4cd9fc4f792918bf (patch) | |
tree | 1417f4b913875db24efc5418481ab057679680cd /sway/config.c | |
parent | 3dd915876d459a2aeeb7a5864330f5bc30bc2f00 (diff) |
input config handler context
Diffstat (limited to 'sway/config.c')
-rw-r--r-- | sway/config.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/sway/config.c b/sway/config.c index 5ec45b17..54357625 100644 --- a/sway/config.c +++ b/sway/config.c @@ -54,6 +54,8 @@ static void free_mode(struct sway_mode *mode) { } void free_config(struct sway_config *config) { + config_clear_handler_context(config); + int i; if (!config) { @@ -480,6 +482,11 @@ bool load_include_configs(const char *path, struct sway_config *config) { return true; } +void config_clear_handler_context(struct sway_config *config) { + free_input_config(config->handler_context.input_config); + + memset(&config->handler_context, 0, sizeof(config->handler_context)); +} bool read_config(FILE *file, struct sway_config *config) { bool success = true; @@ -592,8 +599,6 @@ bool read_config(FILE *file, struct sway_config *config) { case CMD_BLOCK_INPUT: wlr_log(L_DEBUG, "End of input block"); - free_input_config(current_input_config); - current_input_config = NULL; block = CMD_BLOCK_END; break; @@ -635,6 +640,7 @@ bool read_config(FILE *file, struct sway_config *config) { default:; } + config_clear_handler_context(config); default:; } free(line); |