[PATCH 06/42] tests: update for touch support

Peter Hutterer peter.hutterer at who-t.net
Wed Dec 14 19:01:43 PST 2011


Touch event mask must be set for all three event types.

Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
---
 test/xi2/protocol-xipassivegrabdevice.c |    2 +-
 test/xi2/protocol-xiselectevents.c      |   38 ++++++++++++++++++++++++------
 2 files changed, 31 insertions(+), 9 deletions(-)

diff --git a/test/xi2/protocol-xipassivegrabdevice.c b/test/xi2/protocol-xipassivegrabdevice.c
index 89ffc3d..b405556 100644
--- a/test/xi2/protocol-xipassivegrabdevice.c
+++ b/test/xi2/protocol-xipassivegrabdevice.c
@@ -180,7 +180,7 @@ static void test_XIPassiveGrabDevice(void)
     request->deviceid = XIAllMasterDevices;
 
     printf("Testing invalid grab types\n");
-    for (i = XIGrabtypeFocusIn + 1; i < 0xFF; i++)
+    for (i = XIGrabtypeTouchBegin + 1; i < 0xFF; i++)
     {
         request->grab_type = i;
         request_XIPassiveGrabDevice(&client_request, request, BadValue, request->grab_type);
diff --git a/test/xi2/protocol-xiselectevents.c b/test/xi2/protocol-xiselectevents.c
index 4eaf839..0390858 100644
--- a/test/xi2/protocol-xiselectevents.c
+++ b/test/xi2/protocol-xiselectevents.c
@@ -125,6 +125,28 @@ static void request_XISelectEvent(xXISelectEventsReq *req, int error)
     assert(rc == error);
 }
 
+static void _set_bit(unsigned char *bits, int bit)
+{
+    SetBit(bits, bit);
+    if (bit >= XI_TouchBegin && bit <= XI_TouchOwnership)
+    {
+        SetBit(bits, XI_TouchBegin);
+        SetBit(bits, XI_TouchUpdate);
+        SetBit(bits, XI_TouchEnd);
+    }
+}
+
+static void _clear_bit(unsigned char *bits, int bit)
+{
+    ClearBit(bits, bit);
+    if (bit >= XI_TouchBegin && bit <= XI_TouchOwnership)
+    {
+        ClearBit(bits, XI_TouchBegin);
+        ClearBit(bits, XI_TouchUpdate);
+        ClearBit(bits, XI_TouchEnd);
+    }
+}
+
 static void request_XISelectEvents_masks(xXISelectEventsReq *req)
 {
     int i, j;
@@ -157,9 +179,9 @@ static void request_XISelectEvents_masks(xXISelectEventsReq *req)
         memset(bits, 0, mask->mask_len * 4);
         for (j = 0; j <= XI2LASTEVENT; j++)
         {
-            SetBit(bits, j);
+            _set_bit(bits, j);
             request_XISelectEvent(req, Success);
-            ClearBit(bits, j);
+            _clear_bit(bits, j);
         }
 
         /* Test 2:
@@ -173,7 +195,7 @@ static void request_XISelectEvents_masks(xXISelectEventsReq *req)
 
         for (j = 0; j <= XI2LASTEVENT; j++)
         {
-            SetBit(bits, j);
+            _set_bit(bits, j);
             request_XISelectEvent(req, Success);
         }
 
@@ -187,9 +209,9 @@ static void request_XISelectEvents_masks(xXISelectEventsReq *req)
 
         for (j = XI2LASTEVENT + 1; j < mask->mask_len * 4; j++)
         {
-            SetBit(bits, j);
+            _set_bit(bits, j);
             request_XISelectEvent(req, BadValue);
-            ClearBit(bits, j);
+            _clear_bit(bits, j);
         }
 
         /* Test 4:
@@ -200,7 +222,7 @@ static void request_XISelectEvents_masks(xXISelectEventsReq *req)
         memset(bits, 0, mask->mask_len * 4);
         for (j = 0; j <= XI2LASTEVENT; j++)
         {
-            SetBit(bits, j);
+            _set_bit(bits, j);
             request_XISelectEvent(req, Success);
         }
 
@@ -227,8 +249,8 @@ static void request_XISelectEvents_masks(xXISelectEventsReq *req)
         mask->mask_len = (nmasks + 3)/4;
         memset(bits, 0, mask->mask_len * 4);
         for (j = 0; j <= XI2LASTEVENT; j++)
-            SetBit(bits, j);
-        ClearBit(bits, XI_HierarchyChanged);
+            _set_bit(bits, j);
+        _clear_bit(bits, XI_HierarchyChanged);
         for (j = 1; j < 6; j++)
         {
             mask->deviceid = j;
-- 
1.7.7.1



More information about the xorg-devel mailing list