diff options
Diffstat (limited to 'sway/commands/input/pointer_accel.c')
-rw-r--r-- | sway/commands/input/pointer_accel.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/sway/commands/input/pointer_accel.c b/sway/commands/input/pointer_accel.c index 8bbd0724..df487b1c 100644 --- a/sway/commands/input/pointer_accel.c +++ b/sway/commands/input/pointer_accel.c | |||
@@ -9,23 +9,18 @@ struct cmd_results *input_cmd_pointer_accel(int argc, char **argv) { | |||
9 | if ((error = checkarg(argc, "pointer_accel", EXPECTED_AT_LEAST, 1))) { | 9 | if ((error = checkarg(argc, "pointer_accel", EXPECTED_AT_LEAST, 1))) { |
10 | return error; | 10 | return error; |
11 | } | 11 | } |
12 | struct input_config *current_input_config = | 12 | struct input_config *ic = config->handler_context.input_config; |
13 | config->handler_context.input_config; | 13 | if (!ic) { |
14 | if (!current_input_config) { | ||
15 | return cmd_results_new(CMD_FAILURE, | 14 | return cmd_results_new(CMD_FAILURE, |
16 | "pointer_accel", "No input device defined."); | 15 | "pointer_accel", "No input device defined."); |
17 | } | 16 | } |
18 | struct input_config *new_config = | ||
19 | new_input_config(current_input_config->identifier); | ||
20 | 17 | ||
21 | float pointer_accel = atof(argv[0]); | 18 | float pointer_accel = atof(argv[0]); |
22 | if (pointer_accel < -1 || pointer_accel > 1) { | 19 | if (pointer_accel < -1 || pointer_accel > 1) { |
23 | free_input_config(new_config); | ||
24 | return cmd_results_new(CMD_INVALID, "pointer_accel", | 20 | return cmd_results_new(CMD_INVALID, "pointer_accel", |
25 | "Input out of range [-1, 1]"); | 21 | "Input out of range [-1, 1]"); |
26 | } | 22 | } |
27 | new_config->pointer_accel = pointer_accel; | 23 | ic->pointer_accel = pointer_accel; |
28 | 24 | ||
29 | apply_input_config(new_config); | ||
30 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); | 25 | return cmd_results_new(CMD_SUCCESS, NULL, NULL); |
31 | } | 26 | } |