[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