From c988b03d85e4c747194a682a40ab1b1e309a2fbe Mon Sep 17 00:00:00 2001 From: emersion Date: Mon, 8 Oct 2018 15:08:33 +0200 Subject: Allow swaybg to be disabled Same as #2791 but for swaybg. Fixes #2790 --- sway/commands/swaybg_command.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'sway/commands') 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); } -- cgit v1.2.3 From 08139daaa418c21f215d0adf6916db472fd474ef Mon Sep 17 00:00:00 2001 From: John Axel Eriksson Date: Mon, 8 Oct 2018 15:09:25 +0200 Subject: Check if there is a current container before setting it's opacity --- sway/commands/opacity.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'sway/commands') diff --git a/sway/commands/opacity.c b/sway/commands/opacity.c index 9cdaad7f..4e4fc994 100644 --- a/sway/commands/opacity.c +++ b/sway/commands/opacity.c @@ -21,6 +21,10 @@ struct cmd_results *cmd_opacity(int argc, char **argv) { struct sway_container *con = config->handler_context.container; + if (con == NULL) { + return cmd_results_new(CMD_FAILURE, "opacity", "No current container"); + } + float opacity = 0.0f; if (!parse_opacity(argv[0], &opacity)) { -- cgit v1.2.3 From ab3a397d58898045c3461bbdca8f48361ccfb8f4 Mon Sep 17 00:00:00 2001 From: emersion Date: Mon, 8 Oct 2018 15:21:20 +0200 Subject: Fix memory leak in status_command handler --- sway/commands/bar/status_command.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'sway/commands') 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) { -- cgit v1.2.3 From 09c3c33081a8b8c941cbc1eeab0e5a70e54d04ff Mon Sep 17 00:00:00 2001 From: Brian Ashworth Date: Mon, 8 Oct 2018 09:56:34 -0400 Subject: Allow swaynag to be disabled --- sway/commands/swaynag_command.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) (limited to 'sway/commands') diff --git a/sway/commands/swaynag_command.c b/sway/commands/swaynag_command.c index c57a80a6..6c86f1a7 100644 --- a/sway/commands/swaynag_command.c +++ b/sway/commands/swaynag_command.c @@ -9,12 +9,17 @@ struct cmd_results *cmd_swaynag_command(int argc, char **argv) { return error; } - if (config->swaynag_command) { - free(config->swaynag_command); + free(config->swaynag_command); + config->swaynag_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 swaynag command: %s", + config->swaynag_command); + } else { + free(new_command); } - config->swaynag_command = join_args(argv, argc); - wlr_log(WLR_DEBUG, "Using custom swaynag command: %s", - config->swaynag_command); return cmd_results_new(CMD_SUCCESS, NULL, NULL); } -- cgit v1.2.3 From efb123899fa217ea08cd048b7af2ba7670a273fb Mon Sep 17 00:00:00 2001 From: Ian Fan Date: Mon, 8 Oct 2018 17:35:01 +0100 Subject: commands: when setting urgency, check container is not null --- sway/commands/urgent.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'sway/commands') diff --git a/sway/commands/urgent.c b/sway/commands/urgent.c index 53c37d4d..4f283c55 100644 --- a/sway/commands/urgent.c +++ b/sway/commands/urgent.c @@ -12,6 +12,9 @@ struct cmd_results *cmd_urgent(int argc, char **argv) { return error; } struct sway_container *container = config->handler_context.container; + if (!container) { + return cmd_results_new(CMD_FAILURE, "urgent", "No current container"); + } if (!container->view) { return cmd_results_new(CMD_INVALID, "urgent", "Only views can be urgent"); -- cgit v1.2.3