Everywhere else in the code, pEvdev->cur_slot is never used directly,
but through the function last_mt_vals_slot which standardize it.

Signed-off-by: Benjamin Tissoires <[email protected]>
---
 src/evdev.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/evdev.c b/src/evdev.c
index 93758fd..9930f4e 100644
--- a/src/evdev.c
+++ b/src/evdev.c
@@ -129,6 +129,12 @@ static void EvdevInitButtonLabels(EvdevPtr pEvdev, int 
natoms, Atom *atoms);
 static void EvdevInitProperty(DeviceIntPtr dev);
 static int EvdevSetProperty(DeviceIntPtr dev, Atom atom,
                             XIPropertyValuePtr val, BOOL checkonly);
+
+#if MULTITOUCH
+static int num_slots(EvdevPtr pEvdev);
+static int last_mt_vals_slot(EvdevPtr pEvdev);
+#endif /* MULTITOUCH */
+
 static Atom prop_product_id;
 static Atom prop_invert;
 static Atom prop_calibration;
@@ -729,8 +735,9 @@ EvdevProcessTouch(InputInfoPtr pInfo)
 {
     EvdevPtr pEvdev = pInfo->private;
     int type;
+    int slot_index = last_mt_vals_slot(pEvdev);
 
-    if (pEvdev->cur_slot < 0 || !pEvdev->mt_mask)
+    if (slot_index < 0 || !pEvdev->mt_mask)
         return;
 
     /* If the ABS_MT_SLOT is the first event we get after EV_SYN, skip this */
@@ -745,7 +752,7 @@ EvdevProcessTouch(InputInfoPtr pInfo)
         type = XI_TouchUpdate;
 
 
-    EvdevQueueTouchEvent(pInfo, pEvdev->cur_slot, pEvdev->mt_mask, type);
+    EvdevQueueTouchEvent(pInfo, slot_index, pEvdev->mt_mask, type);
 
     pEvdev->slot_state = SLOTSTATE_EMPTY;
 
-- 
1.8.0.2

_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to