From c5ea2b8eeea95948e34c3399af415ed4de64ea70 Mon Sep 17 00:00:00 2001 From: Joshua Ashton Date: Wed, 17 Aug 2022 18:16:16 +0000 Subject: [PATCH] seat: Add seat_add_device helper --- src/seat.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/seat.c b/src/seat.c index 4b2da493..228cf094 100644 --- a/src/seat.c +++ b/src/seat.c @@ -220,6 +220,17 @@ seat_update_capabilities(struct seat *seat) wlr_seat_set_capabilities(seat->seat, caps); } +static void +seat_add_device(struct seat *seat, struct input *input) +{ + input->seat = seat; + input->destroy.notify = input_device_destroy; + wl_signal_add(&input->wlr_input_device->events.destroy, &input->destroy); + wl_list_insert(&seat->inputs, &input->link); + + seat_update_capabilities(seat); +} + static void new_input_notify(struct wl_listener *listener, void *data) { @@ -227,7 +238,6 @@ new_input_notify(struct wl_listener *listener, void *data) struct wlr_input_device *device = data; struct input *input = calloc(1, sizeof(struct input)); input->wlr_input_device = device; - input->seat = seat; switch (device->type) { case WLR_INPUT_DEVICE_KEYBOARD: @@ -244,11 +254,7 @@ new_input_notify(struct wl_listener *listener, void *data) break; } - input->destroy.notify = input_device_destroy; - wl_signal_add(&device->events.destroy, &input->destroy); - wl_list_insert(&seat->inputs, &input->link); - - seat_update_capabilities(seat); + seat_add_device(seat, input); } static void