if (!(device->seat_caps & EVDEV_DEVICE_TOUCH))
break;
+ if (device->mt.slots[slot].seat_slot != -1) {
+ log_bug("%s: Driver sent multiple touch down for the "
+ "same slot", device->devnode);
+ break;
+ }
+
seat_slot = ffs(~seat->slot_map) - 1;
device->mt.slots[slot].seat_slot = seat_slot;
break;
seat_slot = device->mt.slots[slot].seat_slot;
+ device->mt.slots[slot].seat_slot = -1;
if (seat_slot == -1)
break;
if (!(device->seat_caps & EVDEV_DEVICE_TOUCH))
break;
+ if (device->abs.seat_slot != -1) {
+ log_bug("%s: Driver sent multiple touch down for the "
+ "same slot", device->devnode);
+ break;
+ }
+
seat_slot = ffs(~seat->slot_map) - 1;
device->abs.seat_slot = seat_slot;
break;
seat_slot = device->abs.seat_slot;
+ device->abs.seat_slot = -1;
if (seat_slot == -1)
break;
device->sysname = strdup(sysname);
device->rel.dx = 0;
device->rel.dy = 0;
+ device->abs.seat_slot = -1;
device->dispatch = NULL;
device->fd = fd;
device->pending_event = EVDEV_NONE;