aboutsummaryrefslogtreecommitdiff
path: root/sway
diff options
context:
space:
mode:
authorDavid Eklov <david.eklov@gmail.com>2016-07-17 22:47:20 -0500
committerDavid Eklov <david.eklov@gmail.com>2016-07-17 22:50:15 -0500
commitd202ca2fd7c1be75ea9a4f122a3cc18fabde16e8 (patch)
tree9283ac10b610b726adcf4d1248123da958c01a58 /sway
parent2530f952c9cec4150f5ee44bdd764123ae09bd30 (diff)
downloadsway-d202ca2fd7c1be75ea9a4f122a3cc18fabde16e8.tar.xz
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.
Diffstat (limited to 'sway')
-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;