diff options
author | Drew DeVault <sir@cmpwn.com> | 2019-02-03 20:14:45 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-03 20:14:45 +0100 |
commit | 4ef5b49906700e25383a32cde0b16f1df2de250a (patch) | |
tree | 8e54c4ee9dd0ffceecf5a99f91a341fd1d714c5e /sway/input | |
parent | Merge pull request #3563 from vilhalmer/fix-wildcard-seat-constrain-crashes-d... (diff) | |
parent | seat_cmd_cursor: do not create non-existing seat (diff) | |
download | sway-4ef5b49906700e25383a32cde0b16f1df2de250a.tar.gz sway-4ef5b49906700e25383a32cde0b16f1df2de250a.tar.zst sway-4ef5b49906700e25383a32cde0b16f1df2de250a.zip |
Merge pull request #3564 from RedSoxFan/seat-cursor-do-not-create
seat_cmd_cursor: do not create non-existing seat
Diffstat (limited to 'sway/input')
-rw-r--r-- | sway/input/input-manager.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sway/input/input-manager.c b/sway/input/input-manager.c index 8d263e06..f99fc395 100644 --- a/sway/input/input-manager.c +++ b/sway/input/input-manager.c | |||
@@ -31,10 +31,10 @@ struct sway_seat *input_manager_current_seat(void) { | |||
31 | } | 31 | } |
32 | 32 | ||
33 | struct sway_seat *input_manager_get_default_seat(void) { | 33 | struct sway_seat *input_manager_get_default_seat(void) { |
34 | return input_manager_get_seat(DEFAULT_SEAT); | 34 | return input_manager_get_seat(DEFAULT_SEAT, true); |
35 | } | 35 | } |
36 | 36 | ||
37 | struct sway_seat *input_manager_get_seat(const char *seat_name) { | 37 | struct sway_seat *input_manager_get_seat(const char *seat_name, bool create) { |
38 | struct sway_seat *seat = NULL; | 38 | struct sway_seat *seat = NULL; |
39 | wl_list_for_each(seat, &server.input->seats, link) { | 39 | wl_list_for_each(seat, &server.input->seats, link) { |
40 | if (strcmp(seat->wlr_seat->name, seat_name) == 0) { | 40 | if (strcmp(seat->wlr_seat->name, seat_name) == 0) { |
@@ -42,7 +42,7 @@ struct sway_seat *input_manager_get_seat(const char *seat_name) { | |||
42 | } | 42 | } |
43 | } | 43 | } |
44 | 44 | ||
45 | return seat_create(seat_name); | 45 | return create ? seat_create(seat_name) : NULL; |
46 | } | 46 | } |
47 | 47 | ||
48 | char *input_device_get_identifier(struct wlr_input_device *device) { | 48 | char *input_device_get_identifier(struct wlr_input_device *device) { |
@@ -674,7 +674,8 @@ void input_manager_apply_seat_config(struct seat_config *seat_config) { | |||
674 | seat_apply_config(seat, sc); | 674 | seat_apply_config(seat, sc); |
675 | } | 675 | } |
676 | } else { | 676 | } else { |
677 | struct sway_seat *seat = input_manager_get_seat(seat_config->name); | 677 | struct sway_seat *seat = |
678 | input_manager_get_seat(seat_config->name, true); | ||
678 | if (!seat) { | 679 | if (!seat) { |
679 | return; | 680 | return; |
680 | } | 681 | } |