Fix complaints about double tracking IDs on the MagicMouse (#1361325)
This commit is contained in:
parent
5b642a0cad
commit
9b039b84f0
37
0001-Don-t-bother-sanitizing-disabled-event-codes.patch
Normal file
37
0001-Don-t-bother-sanitizing-disabled-event-codes.patch
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
From b313c87ab188c471b356b1c3a170bec5571aee68 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Peter Hutterer <peter.hutterer@who-t.net>
|
||||||
|
Date: Wed, 17 Aug 2016 10:48:43 +1000
|
||||||
|
Subject: [PATCH libevdev] Don't bother sanitizing disabled event codes
|
||||||
|
|
||||||
|
Filter them immediately instead of passing them on and relying on the actual
|
||||||
|
event handling code to filter them.
|
||||||
|
|
||||||
|
Reproducer: if EV_ABS is disabled on an Apple MagicMouse we still get events
|
||||||
|
passed into sanitize_event(). But the code handling EV_ABS events doesn't
|
||||||
|
update the state, so we end up complaining about double tracking IDs, even
|
||||||
|
though that is not actually correct.
|
||||||
|
|
||||||
|
https://bugzilla.redhat.com/show_bug.cgi?id=1361325
|
||||||
|
|
||||||
|
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
|
||||||
|
---
|
||||||
|
libevdev/libevdev.c | 3 +++
|
||||||
|
1 file changed, 3 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/libevdev/libevdev.c b/libevdev/libevdev.c
|
||||||
|
index 48b49b1..43a095c 100644
|
||||||
|
--- a/libevdev/libevdev.c
|
||||||
|
+++ b/libevdev/libevdev.c
|
||||||
|
@@ -979,6 +979,9 @@ sanitize_event(const struct libevdev *dev,
|
||||||
|
struct input_event *ev,
|
||||||
|
enum SyncState sync_state)
|
||||||
|
{
|
||||||
|
+ if (!libevdev_has_event_code(dev, ev->type, ev->code))
|
||||||
|
+ return EVENT_FILTER_DISCARD;
|
||||||
|
+
|
||||||
|
if (unlikely(dev->num_slots > -1 &&
|
||||||
|
libevdev_event_is_code(ev, EV_ABS, ABS_MT_SLOT) &&
|
||||||
|
(ev->value < 0 || ev->value >= dev->num_slots))) {
|
||||||
|
--
|
||||||
|
2.7.4
|
||||||
|
|
@ -1,6 +1,6 @@
|
|||||||
Name: libevdev
|
Name: libevdev
|
||||||
Version: 1.5.2
|
Version: 1.5.2
|
||||||
Release: 1%{?dist}
|
Release: 2%{?dist}
|
||||||
Summary: Kernel Evdev Device Wrapper Library
|
Summary: Kernel Evdev Device Wrapper Library
|
||||||
|
|
||||||
Group: System Environment/Libraries
|
Group: System Environment/Libraries
|
||||||
@ -8,6 +8,8 @@ License: MIT
|
|||||||
URL: http://www.freedesktop.org/wiki/Software/libevdev
|
URL: http://www.freedesktop.org/wiki/Software/libevdev
|
||||||
Source0: http://www.freedesktop.org/software/%{name}/%{name}-%{version}.tar.xz
|
Source0: http://www.freedesktop.org/software/%{name}/%{name}-%{version}.tar.xz
|
||||||
|
|
||||||
|
Patch01: 0001-Don-t-bother-sanitizing-disabled-event-codes.patch
|
||||||
|
|
||||||
BuildRequires: automake libtool
|
BuildRequires: automake libtool
|
||||||
BuildRequires: python
|
BuildRequires: python
|
||||||
|
|
||||||
@ -31,6 +33,7 @@ Utilities to handle and/or debug evdev devices.
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n %{name}-%{version}
|
%setup -q -n %{name}-%{version}
|
||||||
|
%patch01 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
autoreconf --force -v --install || exit 1
|
autoreconf --force -v --install || exit 1
|
||||||
@ -65,6 +68,9 @@ rm -f %{buildroot}%{_libdir}/*.la
|
|||||||
%{_bindir}/libevdev-tweak-device
|
%{_bindir}/libevdev-tweak-device
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Wed Aug 17 2016 Peter Hutterer <peter.hutterer@redhat.com> 1.5.2-2
|
||||||
|
- Fix complaints about double tracking IDs on the MagicMouse (#1361325)
|
||||||
|
|
||||||
* Wed Jun 15 2016 Peter Hutterer <peter.hutterer@redhat.com> 1.5.2-1
|
* Wed Jun 15 2016 Peter Hutterer <peter.hutterer@redhat.com> 1.5.2-1
|
||||||
- libevdev 1.5.2
|
- libevdev 1.5.2
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user