chiark / gitweb /
terminal: parse ID_SEAT not only for parents but the device itself
[elogind.git] / src / libsystemd-terminal / sysview.c
index fde87d11174b73bdc09a46114a812cb105e99064..6c1a9543b97d46cb22c047bd4842d45c17e91994 100644 (file)
@@ -893,11 +893,11 @@ static int context_ud_hotplug(sysview_context *c, struct udev_device *d) {
 
                 p = d;
                 seatname = NULL;
-                while ((p = udev_device_get_parent(p))) {
+                do {
                         seatname = udev_device_get_property_value(p, "ID_SEAT");
                         if (seatname)
                                 break;
-                }
+                } while ((p = udev_device_get_parent(p)));
 
                 seat = sysview_find_seat(c, seatname ? : "seat0");
                 if (!seat)