If a client doesn't sync when it should, drop all sync events

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Peter Hutterer 2013-05-30 12:24:46 +10:00
parent ec093aa398
commit 3e22ef86ab

View file

@ -512,10 +512,8 @@ int libevdev_next_event(struct libevdev *dev, unsigned int flags, struct input_e
if (rc != 0) if (rc != 0)
return rc; return rc;
} }
} else if (dev->need_sync) { } else if (dev->need_sync)
/* FIXME: if a client decides not to sync, drop all sync events */ queue_shift_multiple(dev, dev->queue_nsync, NULL);
return 1;
}
/* Always read in some more events. Best case this smoothes over a potential SYN_DROPPED, /* Always read in some more events. Best case this smoothes over a potential SYN_DROPPED,
worst case we don't read fast enough and end up with SYN_DROPPED anyway */ worst case we don't read fast enough and end up with SYN_DROPPED anyway */