From 9e39491166eb4540bbc72e963e673c976301e936 Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Thu, 24 Sep 2009 14:05:52 +1000 Subject: [PATCH] Xi: fix length calculation for ValuatorState in QueryDeviceState reply. The length field needs to include the bytes required for the valuators (INT32) as well. The reply length has the right value and since the valuator state is always last, clients didn't notice the wrong offset. Tested-by: Thomas Jaeger Signed-off-by: Peter Hutterer (cherry picked from commit 6ee796e9bb4e46782b50a69c7b4fa5b49576f139) --- Xi/queryst.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Xi/queryst.c b/Xi/queryst.c index 60ec32ec9..2ba1edb63 100644 --- a/Xi/queryst.c +++ b/Xi/queryst.c @@ -147,7 +147,7 @@ ProcXQueryDeviceState(ClientPtr client) if (v != NULL) { tv = (xValuatorState *) buf; tv->class = ValuatorClass; - tv->length = sizeof(xValuatorState); + tv->length = sizeof(xValuatorState) + v->numAxes * 4; tv->num_valuators = v->numAxes; tv->mode = v->mode; buf += sizeof(xValuatorState);