From 6ee796e9bb4e46782b50a69c7b4fa5b49576f139 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 --- 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);