diff --git a/src/udev-seat.c b/src/udev-seat.c index cdeb7fd6..d1eaed8b 100644 --- a/src/udev-seat.c +++ b/src/udev-seat.c @@ -375,14 +375,15 @@ libinput_udev_assign_seat(struct libinput *libinput, if (!seat_id) return -1; - if (input->seat_id != NULL) - return -1; if (libinput->interface_backend != &interface_backend) { log_bug_client(libinput, "Mismatching backends.\n"); return -1; } + if (input->seat_id != NULL) + return -1; + input->seat_id = strdup(seat_id); if (udev_input_enable(&input->base) < 0)