aboutsummaryrefslogtreecommitdiff
path: root/sway
diff options
context:
space:
mode:
authorMihai Coman <mihai.cmn@gmail.com>2018-10-20 11:48:49 +0300
committerMihai Coman <mihai.cmn@gmail.com>2018-10-20 11:48:49 +0300
commit3daf963d4d049407c04cd3948bcd90f2d239d7ff (patch)
treeebf10763935118bfe2fea732409c7c1b09c3faa8 /sway
parent75ea19c71b08e4b3dd1ad053944724fd91dc04bd (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.c16
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;