summaryrefslogtreecommitdiffstats
path: root/abs/core/xf86-input-evdev/initialize-valuators.patch
blob: 47b02dbfc39f5fe5e55c5c397031e8f81e654e49 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
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