Test: Input: Test up to supported server, not protocol, events

When building against a newer inputproto, the server may support fewer
than XI_LASTEVENT events.  We already have XI2LASTEVENT for the highest
event number supported by the server, so use that instead.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
This commit is contained in:
Daniel Stone 2010-12-28 16:37:48 +00:00
parent a083efe871
commit 06a103ad1d

View File

@ -131,7 +131,7 @@ static void request_XISelectEvents_masks(xXISelectEventsReq *req)
{ {
int i, j; int i, j;
xXIEventMask *mask; xXIEventMask *mask;
int nmasks = (XI_LASTEVENT + 7)/8; int nmasks = (XI2LASTEVENT + 7)/8;
unsigned char *bits; unsigned char *bits;
mask = (xXIEventMask*)&req[1]; mask = (xXIEventMask*)&req[1];
@ -150,14 +150,14 @@ static void request_XISelectEvents_masks(xXISelectEventsReq *req)
request_XISelectEvent(req, Success); request_XISelectEvent(req, Success);
/* Test 1: /* Test 1:
* mask may be larger than needed for XI_LASTEVENT. * mask may be larger than needed for XI2LASTEVENT.
* Test setting each valid mask bit, while leaving unneeded bits 0. * Test setting each valid mask bit, while leaving unneeded bits 0.
* -> Success * -> Success
*/ */
bits = (unsigned char*)&mask[1]; bits = (unsigned char*)&mask[1];
mask->mask_len = (nmasks + 3)/4 * 10; mask->mask_len = (nmasks + 3)/4 * 10;
memset(bits, 0, mask->mask_len * 4); memset(bits, 0, mask->mask_len * 4);
for (j = 0; j <= XI_LASTEVENT; j++) for (j = 0; j <= XI2LASTEVENT; j++)
{ {
SetBit(bits, j); SetBit(bits, j);
request_XISelectEvent(req, Success); request_XISelectEvent(req, Success);
@ -165,7 +165,7 @@ static void request_XISelectEvents_masks(xXISelectEventsReq *req)
} }
/* Test 2: /* Test 2:
* mask may be larger than needed for XI_LASTEVENT. * mask may be larger than needed for XI2LASTEVENT.
* Test setting all valid mask bits, while leaving unneeded bits 0. * Test setting all valid mask bits, while leaving unneeded bits 0.
* -> Success * -> Success
*/ */
@ -173,21 +173,21 @@ static void request_XISelectEvents_masks(xXISelectEventsReq *req)
mask->mask_len = (nmasks + 3)/4 * 10; mask->mask_len = (nmasks + 3)/4 * 10;
memset(bits, 0, mask->mask_len * 4); memset(bits, 0, mask->mask_len * 4);
for (j = 0; j <= XI_LASTEVENT; j++) for (j = 0; j <= XI2LASTEVENT; j++)
{ {
SetBit(bits, j); SetBit(bits, j);
request_XISelectEvent(req, Success); request_XISelectEvent(req, Success);
} }
/* Test 3: /* Test 3:
* mask is larger than needed for XI_LASTEVENT. If any unneeded bit * mask is larger than needed for XI2LASTEVENT. If any unneeded bit
* is set -> BadValue * is set -> BadValue
*/ */
bits = (unsigned char*)&mask[1]; bits = (unsigned char*)&mask[1];
mask->mask_len = (nmasks + 3)/4 * 10; mask->mask_len = (nmasks + 3)/4 * 10;
memset(bits, 0, mask->mask_len * 4); memset(bits, 0, mask->mask_len * 4);
for (j = XI_LASTEVENT + 1; j < mask->mask_len * 4; j++) for (j = XI2LASTEVENT + 1; j < mask->mask_len * 4; j++)
{ {
SetBit(bits, j); SetBit(bits, j);
request_XISelectEvent(req, BadValue); request_XISelectEvent(req, BadValue);
@ -200,7 +200,7 @@ static void request_XISelectEvents_masks(xXISelectEventsReq *req)
bits = (unsigned char*)&mask[1]; bits = (unsigned char*)&mask[1];
mask->mask_len = (nmasks + 3)/4; mask->mask_len = (nmasks + 3)/4;
memset(bits, 0, mask->mask_len * 4); memset(bits, 0, mask->mask_len * 4);
for (j = 0; j <= XI_LASTEVENT; j++) for (j = 0; j <= XI2LASTEVENT; j++)
{ {
SetBit(bits, j); SetBit(bits, j);
request_XISelectEvent(req, Success); request_XISelectEvent(req, Success);
@ -228,7 +228,7 @@ static void request_XISelectEvents_masks(xXISelectEventsReq *req)
bits = (unsigned char*)&mask[1]; bits = (unsigned char*)&mask[1];
mask->mask_len = (nmasks + 3)/4; mask->mask_len = (nmasks + 3)/4;
memset(bits, 0, mask->mask_len * 4); memset(bits, 0, mask->mask_len * 4);
for (j = 0; j <= XI_LASTEVENT; j++) for (j = 0; j <= XI2LASTEVENT; j++)
SetBit(bits, j); SetBit(bits, j);
ClearBit(bits, XI_HierarchyChanged); ClearBit(bits, XI_HierarchyChanged);
for (j = 1; j < 6; j++) for (j = 1; j < 6; j++)