aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sway/commands.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/sway/commands.c b/sway/commands.c
index f8c2fd99..94a45253 100644
--- a/sway/commands.c
+++ b/sway/commands.c
@@ -177,6 +177,16 @@ struct cmd_results *handle_command(char *_exec) {
free_argv(argc, argv);
goto cleanup;
}
+ struct cmd_results *res = handler->handle(argc-1, argv+1);
+ if (res->status != CMD_SUCCESS) {
+ free_argv(argc, argv);
+ if (results) {
+ free_cmd_results(results);
+ }
+ results = res;
+ goto cleanup;
+ }
+ free_cmd_results(res);
free_argv(argc, argv);
} while(cmdlist);
} while(head);