summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Eklov <[email protected]>2016-07-17 22:47:20 -0500
committerDavid Eklov <[email protected]>2016-07-17 22:50:15 -0500
commitd202ca2fd7c1be75ea9a4f122a3cc18fabde16e8 (patch)
tree9283ac10b610b726adcf4d1248123da958c01a58
parent2530f952c9cec4150f5ee44bdd764123ae09bd30 (diff)
Do not crash when handling the command 'move position'
Sway expected 'move position' to be 'move position mouse'. If mouse is not present in the command, Sway crashes.
-rw-r--r--sway/commands.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/sway/commands.c b/sway/commands.c
index 73f245c1..1dec9889 100644
--- a/sway/commands.c
+++ b/sway/commands.c
@@ -1115,7 +1115,14 @@ static struct cmd_results *cmd_move(int argc, char **argv) {
focused = swayc_active_workspace();
}
set_focused_container(focused);
- } else if (strcasecmp(argv[0], "position") == 0 && strcasecmp(argv[1], "mouse") == 0) {
+ } else if (strcasecmp(argv[0], "position") == 0) {
+ if ((error = checkarg(argc, "move workspace", EXPECTED_EQUAL_TO, 2))) {
+ return error;
+ }
+ if (strcasecmp(argv[1], "mouse")) {
+ return cmd_results_new(CMD_INVALID, "move", expected_syntax);
+ }
+
if (view->is_floating) {
swayc_t *output = swayc_parent_by_type(view, C_OUTPUT);
struct wlc_geometry g;