chiark / gitweb /
execute: make setup_pam() return -errno when possible
[elogind.git] / src / logind-device.c
index 4e076c20b63c7728e278aca8d31457cc69c3b35c..bbd370fbff75dc9721e6dc5bdae57795bbcb1a41 100644 (file)
@@ -70,6 +70,7 @@ void device_detach(Device *d) {
         if (d->seat)
                 LIST_REMOVE(Device, devices, d->seat->devices, d);
 
+        seat_add_to_gc_queue(d->seat);
         d->seat = NULL;
 }
 
@@ -80,6 +81,6 @@ void device_attach(Device *d, Seat *s) {
         if (d->seat)
                 device_detach(d);
 
-        LIST_PREPEND(Device, devices, d->seat->devices, d);
         d->seat = s;
+        LIST_PREPEND(Device, devices, s->devices, d);
 }