Attach destroy handler earlier

This prevents it from being bypassed when the device has no seat configuration
This commit is contained in:
Ian Fan 2018-07-06 14:13:45 +01:00
parent 84109431f7
commit f63b209d51

View File

@ -224,6 +224,9 @@ static void handle_new_input(struct wl_listener *listener, void *data) {
input_manager_libinput_config_pointer(input_device); input_manager_libinput_config_pointer(input_device);
} }
wl_signal_add(&device->events.destroy, &input_device->device_destroy);
input_device->device_destroy.notify = handle_device_destroy;
struct sway_seat *seat = NULL; struct sway_seat *seat = NULL;
if (!input_has_seat_configuration(input)) { if (!input_has_seat_configuration(input)) {
wlr_log(L_DEBUG, "no seat configuration, using default seat"); wlr_log(L_DEBUG, "no seat configuration, using default seat");
@ -260,9 +263,6 @@ static void handle_new_input(struct wl_listener *listener, void *data) {
"device '%s' is not configured on any seats", "device '%s' is not configured on any seats",
input_device->identifier); input_device->identifier);
} }
wl_signal_add(&device->events.destroy, &input_device->device_destroy);
input_device->device_destroy.notify = handle_device_destroy;
} }
static void handle_inhibit_activate(struct wl_listener *listener, void *data) { static void handle_inhibit_activate(struct wl_listener *listener, void *data) {