diff options
Diffstat (limited to 'sway/commands/input/repeat_rate.c')
-rw-r--r-- | sway/commands/input/repeat_rate.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/sway/commands/input/repeat_rate.c b/sway/commands/input/repeat_rate.c index 56878176..ebec4cdb 100644 --- a/sway/commands/input/repeat_rate.c +++ b/sway/commands/input/repeat_rate.c | |||
@@ -9,23 +9,18 @@ struct cmd_results *input_cmd_repeat_rate(int argc, char **argv) { | |||
9 | if ((error = checkarg(argc, "repeat_rate", EXPECTED_EQUAL_TO, 1))) { | 9 | if ((error = checkarg(argc, "repeat_rate", EXPECTED_EQUAL_TO, 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 | "repeat_rate", "No input device defined."); | 15 | "repeat_rate", "No input device defined."); |
17 | } | 16 | } |
18 | struct input_config *new_config = | ||
19 | new_input_config(current_input_config->identifier); | ||
20 | 17 | ||
21 | int repeat_rate = atoi(argv[0]); | 18 | int repeat_rate = atoi(argv[0]); |
22 | if (repeat_rate < 0) { | 19 | if (repeat_rate < 0) { |
23 | free_input_config(new_config); | ||
24 | return cmd_results_new(CMD_INVALID, "repeat_rate", | 20 | return cmd_results_new(CMD_INVALID, "repeat_rate", |
25 | "Repeat rate cannot be negative"); | 21 | "Repeat rate cannot be negative"); |
26 | } | 22 | } |
27 | new_config->repeat_rate = repeat_rate; | 23 | ic->repeat_rate = repeat_rate; |
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 | } |