evdev: Flush motion events when the slot changes, not just after sync
authorNeil Roberts <neil@linux.intel.com>
Fri, 20 Sep 2013 14:03:29 +0000 (15:03 +0100)
committerJonas Ådahl <jadahl@gmail.com>
Sun, 10 Nov 2013 16:51:33 +0000 (17:51 +0100)
commitb3023f5d0ac71798d83fc9f6755c88e40abbb9dc
tree460f62feeb774d3e9d21517de98d38c9f9d51a64
parent6f96846e0a33eb3eccb58e62b782200a1e959b74
evdev: Flush motion events when the slot changes, not just after sync

If two fingers are released almost simultaneously then evdev can send
the touch up events in one bunch without sending a sync event
in-between. However, the evdev_device struct only keeps track of one
pending touch up event so in this case the second touch up event would
override the first and it would be lost. This patch changes it to also
flush the events whenever the slot changes so that it will flush the
previous touch up event before trying to queue the next one.

https://bugs.freedesktop.org/show_bug.cgi?id=67563
src/evdev-touchpad.c
src/evdev.c
src/evdev.h