From 94d4e29aedc69431fa9b299ca1b67947173d7a24 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 26 Aug 2013 15:51:46 +1000 Subject: [PATCH] Xi: allow for XIAllowEvent requests larger than XI < 2.2 size (#68554) XIAllowEvents changed length in XI 2.2 (for the touchid). A bug in libXi causes libXi to always use the new request length if the server supports 2.2, regardless of the client's XIQueryVersion request. The server takes the client's XIQueryVersion request into account though, resulting in a BadLength error if a 2.[0,1] client calls XIAllowEvents on a XI 2.2+ server. Can't fix this in libXi, so work around this in the server. X.Org Bug 68554 Signed-off-by: Peter Hutterer Reviewed-by: Adam Jackson --- Xi/xiallowev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xi/xiallowev.c b/Xi/xiallowev.c index 62a0727b0..ebef23344 100644 --- a/Xi/xiallowev.c +++ b/Xi/xiallowev.c @@ -81,7 +81,7 @@ ProcXIAllowEvents(ClientPtr client) have_xi22 = TRUE; } else { - REQUEST_SIZE_MATCH(xXIAllowEventsReq); + REQUEST_AT_LEAST_SIZE(xXIAllowEventsReq); } ret = dixLookupDevice(&dev, stuff->deviceid, client, DixGetAttrAccess);