diff options
Diffstat (limited to 'abs/core/xf86-input-evdev/initialize-valuators.patch')
-rw-r--r-- | abs/core/xf86-input-evdev/initialize-valuators.patch | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/abs/core/xf86-input-evdev/initialize-valuators.patch b/abs/core/xf86-input-evdev/initialize-valuators.patch new file mode 100644 index 0000000..47b02db --- /dev/null +++ b/abs/core/xf86-input-evdev/initialize-valuators.patch @@ -0,0 +1,61 @@ +From ed47c7f33e315f163a6aebeb3e1c8947004576fd Mon Sep 17 00:00:00 2001 +From: Bartosz Brachaczek <b.brachaczek@gmail.com> +Date: Tue, 10 Aug 2010 20:31:00 +0000 +Subject: evdev: Revert "Set all valuators for relative motion events (#24737)" + +It isn't necessary to post zero-deltas to X Server. In order not to post +uninitialized "v" array we should rather simply initialize it. + +This reverts commit c1f16a4f59a584ab4546c2f16e20b06703042057. + +Signed-off-by: Bartosz Brachaczek <b.brachaczek@gmail.com> +Tested-by: Bartek Iwaniec <hash87@gmail.com> +Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> +Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> +--- +diff --git a/src/evdev.c b/src/evdev.c +index 5ea230c..bdac330 100644 +--- a/src/evdev.c ++++ b/src/evdev.c +@@ -386,7 +386,7 @@ EvdevProcessValuators(InputInfoPtr pInfo, int v[MAX_VALUATORS], int *num_v, + for (i = 0; i < REL_CNT; i++) + { + int map = pEvdev->axis_map[i]; +- if (map != -1) ++ if (pEvdev->delta[i] && map != -1) + { + v[map] = pEvdev->delta[i]; + if (map < first) +-- +cgit v0.8.3-6-g21f6 +From ec6cb31cc47eed3ccba4c906ca6c54b99136e9eb Mon Sep 17 00:00:00 2001 +From: Bartosz Brachaczek <b.brachaczek@gmail.com> +Date: Tue, 10 Aug 2010 20:31:37 +0000 +Subject: evdev: Initialize valuators array. (#24737) + +The array needs to be filled with zeros, otherwise we may end up sending +it with random values if non-zero values aren't in one row (which is the +case for A4Tech X-750F which sends REL_MISC events without a reason). + +X.Org Bug 24737 <http://bugs.freedesktop.org/show_bug.cgi?id=24737> + +Signed-off-by: Bartosz Brachaczek <b.brachaczek@gmail.com> +Tested-by: Bartek Iwaniec <hash87@gmail.com> +Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net> +Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> +--- +diff --git a/src/evdev.c b/src/evdev.c +index bdac330..512e957 100644 +--- a/src/evdev.c ++++ b/src/evdev.c +@@ -661,7 +661,7 @@ static void + EvdevProcessSyncEvent(InputInfoPtr pInfo, struct input_event *ev) + { + int num_v = 0, first_v = 0; +- int v[MAX_VALUATORS]; ++ int v[MAX_VALUATORS] = {}; + EvdevPtr pEvdev = pInfo->private; + + EvdevProcessValuators(pInfo, v, &num_v, &first_v); +-- +cgit v0.8.3-6-g21f6 |