diff options
Diffstat (limited to 'sway/commands')
-rw-r--r-- | sway/commands/bar/status_command.c | 2 | ||||
-rw-r--r-- | sway/commands/swaybg_command.c | 15 |
2 files changed, 12 insertions, 5 deletions
diff --git a/sway/commands/bar/status_command.c b/sway/commands/bar/status_command.c index 5ea22525..5b4fdc87 100644 --- a/sway/commands/bar/status_command.c +++ b/sway/commands/bar/status_command.c @@ -20,6 +20,8 @@ struct cmd_results *bar_cmd_status_command(int argc, char **argv) { config->current_bar->status_command = new_command; wlr_log(WLR_DEBUG, "Feeding bar with status command: %s", config->current_bar->status_command); + } else { + free(new_command); } if (config->active && !config->validating) { diff --git a/sway/commands/swaybg_command.c b/sway/commands/swaybg_command.c index 36f7fdcd..b184b193 100644 --- a/sway/commands/swaybg_command.c +++ b/sway/commands/swaybg_command.c @@ -9,12 +9,17 @@ struct cmd_results *cmd_swaybg_command(int argc, char **argv) { return error; } - if (config->swaybg_command) { - free(config->swaybg_command); + free(config->swaybg_command); + config->swaybg_command = NULL; + + char *new_command = join_args(argv, argc); + if (strcmp(new_command, "-") != 0) { + config->swaybg_command = new_command; + wlr_log(WLR_DEBUG, "Using custom swaybg command: %s", + config->swaybg_command); + } else { + free(new_command); } - config->swaybg_command = join_args(argv, argc); - wlr_log(WLR_DEBUG, "Using custom swaybg command: %s", - config->swaybg_command); return cmd_results_new(CMD_SUCCESS, NULL, NULL); } |