[ANNOUNCE] libevdev 1.0.99.1
Peter Hutterer
peter.hutterer at who-t.net
Mon Mar 10 16:03:09 PDT 2014
The first RC for libevdev 1.1 is out now. This release brings a number of
fixes for SYN_DROPPED handling, specifically the handling of touchpoint
changes during SYN_DROPPED.
More specifically, the following things were not handled correctly:
* if the touch slot changes during SYN_DROPPED, the caller may see the wrong
touch slot after syncing from libevdev
* if the touch slot is zero after SYN_DROPPED but a state change causes a
sync of slots, the caller may see the wrong slot after syncing from
libevdev
* if the tracking ID changes within a slot during SYN_DROPPED, the caller
may not close a touchpoint properly. libevdev now sends ABS_TRACKING_ID
-1 before the new tracking ID during sync.
This was the reason for stuck touchpoints in synaptics, visible usually
during login or after a resume from suspend. Updating to libevdev 1.1RC1
will fix those issues. Many thanks to Benjamin Tissoires for identifying
the source of this bug.
Other fixes:
* libevdev_set_event_value now filters out-of-bounds slot values and logs a
bug
* libevdev event processing now filters out-of-bounds slot value and
logs a bug (Note: this cannot happen on a normal kernel device anyway)
* Devices with more than MAX_SLOTS touch slots are now capped at MAX_SLOTS
(currently 60) during sync to avoid out-of-bounds reads.
Aside from these we have a couple of memleak fixes, some documentation
improvements, build fixes and a pony.
Benjamin Tissoires (1):
Send an extra ABS_MT_SLOT event to sync the client up with the current slot
Emmanuele Bassi (2):
Fix the include directives when building in tools/
tools: Fix compiler warning
Peter Hutterer (26):
test: remove a bunch of superfluous empty lines
Replace hardcoded 0 with the enum for it
tools: add a tool to print the actual range provided by a touchpad
Document that the return value of get_name|uniq|phys is not permanent
Add a test for EVIOCREVOKE
test: fix memleak when using the test-uinput device
test: plug more memory leaks
Plug a memory leak for name, uniq, phys
Fix memory leaks when failing to create a uinput device
test: whitespace fixes (newlines)
Document the FORCE_SYNC behavior a bit better
Fix a wrong reference in the libevdev_next_event documentation
Add unlikely() macro
Don't sync past MAX_SLOTS slots
Dynamically allocate the slot values
Reduce memory requirement for MT syncing
test: add a test for > MAX_SLOTS mt values
Increase MAX_SLOTS to 60
test: add two more checks for the current slot
Cap slot values to the announced maximum
Move some functions/macros between libevdev-int.h and libevdev-util.h
Don't sync the MT state for fake MT devices
If the tracking ID changes during SYN_DROPPED, terminate the touch first
Add a documentation note to update the slot after syncing
test: fix distcheck
libevdev 1.1RC1
git tag: libevdev-1.0.99.1
http://www.freedesktop.org/software/libevdev/libevdev-1.0.99.1.tar.xz
MD5: 6ac92f6f092d5f1e3e3f0135b02d379c libevdev-1.0.99.1.tar.xz
SHA1: 76add01ea4c6d143e2b0c04dbf8570562e87eaa9 libevdev-1.0.99.1.tar.xz
SHA256: 6963584cfd3954dae1928fcb1ee358056caa68245e1f7e58dcc29918a2eea0f8 libevdev-1.0.99.1.tar.xz
More information about the Input-tools
mailing list