From 3daf963d4d049407c04cd3948bcd90f2d239d7ff Mon Sep 17 00:00:00 2001 From: Mihai Coman Date: Sat, 20 Oct 2018 11:48:49 +0300 Subject: Fix crash when defaut seat is not created Function input_manager_get_default_seat should always return a seat. --- sway/input/input-manager.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) (limited to 'sway/input/input-manager.c') 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; -- cgit v1.2.3-54-g00ecf