diff options
author | Drew DeVault <sir@cmpwn.com> | 2018-07-23 20:27:56 -0400 |
---|---|---|
committer | Drew DeVault <sir@cmpwn.com> | 2018-07-23 20:31:11 -0400 |
commit | f4b882475eee7a81c206c7825616cc4656b2f60b (patch) | |
tree | 38e6ebf81b235424f105dcbcbb194e5e9eac70c0 /sway/commands/input/map_from_region.c | |
parent | Implement pid->workspace tracking (diff) | |
parent | Merge pull request #2342 from RyanDwyer/update-cursor (diff) | |
download | sway-f4b882475eee7a81c206c7825616cc4656b2f60b.tar.gz sway-f4b882475eee7a81c206c7825616cc4656b2f60b.tar.zst sway-f4b882475eee7a81c206c7825616cc4656b2f60b.zip |
Merge branch 'master' into pid-workspaces
Diffstat (limited to 'sway/commands/input/map_from_region.c')
-rw-r--r-- | sway/commands/input/map_from_region.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/sway/commands/input/map_from_region.c b/sway/commands/input/map_from_region.c index 80bb856d..40f04214 100644 --- a/sway/commands/input/map_from_region.c +++ b/sway/commands/input/map_from_region.c | |||
@@ -54,20 +54,28 @@ struct cmd_results *input_cmd_map_from_region(int argc, char **argv) { | |||
54 | bool mm1, mm2; | 54 | bool mm1, mm2; |
55 | if (!parse_coords(argv[0], &new_config->mapped_from_region->x1, | 55 | if (!parse_coords(argv[0], &new_config->mapped_from_region->x1, |
56 | &new_config->mapped_from_region->y1, &mm1)) { | 56 | &new_config->mapped_from_region->y1, &mm1)) { |
57 | free(new_config->mapped_from_region); | ||
58 | free_input_config(new_config); | ||
57 | return cmd_results_new(CMD_FAILURE, "map_from_region", | 59 | return cmd_results_new(CMD_FAILURE, "map_from_region", |
58 | "Invalid top-left coordinates"); | 60 | "Invalid top-left coordinates"); |
59 | } | 61 | } |
60 | if (!parse_coords(argv[1], &new_config->mapped_from_region->x2, | 62 | if (!parse_coords(argv[1], &new_config->mapped_from_region->x2, |
61 | &new_config->mapped_from_region->y2, &mm2)) { | 63 | &new_config->mapped_from_region->y2, &mm2)) { |
64 | free(new_config->mapped_from_region); | ||
65 | free_input_config(new_config); | ||
62 | return cmd_results_new(CMD_FAILURE, "map_from_region", | 66 | return cmd_results_new(CMD_FAILURE, "map_from_region", |
63 | "Invalid bottom-right coordinates"); | 67 | "Invalid bottom-right coordinates"); |
64 | } | 68 | } |
65 | if (new_config->mapped_from_region->x1 > new_config->mapped_from_region->x2 || | 69 | if (new_config->mapped_from_region->x1 > new_config->mapped_from_region->x2 || |
66 | new_config->mapped_from_region->y1 > new_config->mapped_from_region->y2) { | 70 | new_config->mapped_from_region->y1 > new_config->mapped_from_region->y2) { |
71 | free(new_config->mapped_from_region); | ||
72 | free_input_config(new_config); | ||
67 | return cmd_results_new(CMD_FAILURE, "map_from_region", | 73 | return cmd_results_new(CMD_FAILURE, "map_from_region", |
68 | "Invalid rectangle"); | 74 | "Invalid rectangle"); |
69 | } | 75 | } |
70 | if (mm1 != mm2) { | 76 | if (mm1 != mm2) { |
77 | free(new_config->mapped_from_region); | ||
78 | free_input_config(new_config); | ||
71 | return cmd_results_new(CMD_FAILURE, "map_from_region", | 79 | return cmd_results_new(CMD_FAILURE, "map_from_region", |
72 | "Both coordinates must be in the same unit"); | 80 | "Both coordinates must be in the same unit"); |
73 | } | 81 | } |