diff options
author | Mihai Coman <mihai.cmn@gmail.com> | 2018-10-20 11:48:49 +0300 |
---|---|---|
committer | Mihai Coman <mihai.cmn@gmail.com> | 2018-10-20 11:48:49 +0300 |
commit | 3daf963d4d049407c04cd3948bcd90f2d239d7ff (patch) | |
tree | ebf10763935118bfe2fea732409c7c1b09c3faa8 /sway | |
parent | 75ea19c71b08e4b3dd1ad053944724fd91dc04bd (diff) |
Fix crash when defaut seat is not created
Function input_manager_get_default_seat should always return a seat.
Diffstat (limited to 'sway')
-rw-r--r-- | sway/input/input-manager.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/sway/input/input-manager.c b/sway/input/input-manager.c index 5be4143f..91c45dd1 100644 --- a/sway/input/input-manager.c +++ b/sway/input/input-manager.c @@ -30,6 +30,10 @@ struct sway_seat *input_manager_current_seat(void) { return seat; } +struct sway_seat *input_manager_get_default_seat(void) { + return input_manager_get_seat(DEFAULT_SEAT); +} + struct sway_seat *input_manager_get_seat(const char *seat_name) { struct sway_seat *seat = NULL; wl_list_for_each(seat, &server.input->seats, link) { @@ -294,7 +298,7 @@ static void handle_new_input(struct wl_listener *listener, void *data) { struct sway_seat *seat = NULL; if (!input_has_seat_configuration()) { wlr_log(WLR_DEBUG, "no seat configuration, using default seat"); - seat = input_manager_get_seat(DEFAULT_SEAT); + seat = input_manager_get_default_seat(); seat_add_device(seat, input_device); return; } @@ -517,16 +521,6 @@ void input_manager_configure_xcursor(void) { } } -struct sway_seat *input_manager_get_default_seat(void) { - struct sway_seat *seat = NULL; - wl_list_for_each(seat, &server.input->seats, link) { - if (strcmp(seat->wlr_seat->name, DEFAULT_SEAT) == 0) { - return seat; - } - } - return seat; -} - struct input_config *input_device_get_config(struct sway_input_device *device) { struct input_config *wildcard_config = NULL; struct input_config *input_config = NULL; |