From 312910b4e34215aaa50fc0c6092684d5878dc32f Mon Sep 17 00:00:00 2001 From: Chase Douglas Date: Wed, 18 Apr 2012 11:15:40 -0700 Subject: [PATCH] Update currentTime in dispatch loop A request, like input device grabs, may check a request timestamp against currentTime. It is possible for currentTime to lag a previously sent event timestamp. If the client makes a request based on such an event timestamp, the request may fail the validity check against currentTime unless we always update the time before processing the request. Signed-off-by: Chase Douglas Reviewed-by: Peter Hutterer --- dix/dispatch.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/dix/dispatch.c b/dix/dispatch.c index bce3a0da3..9a2e22fe6 100644 --- a/dix/dispatch.c +++ b/dix/dispatch.c @@ -393,6 +393,9 @@ Dispatch(void) } /* now, finally, deal with client requests */ + /* Update currentTime so request time checks, such as for input + * device grabs, are calculated correctly */ + UpdateCurrentTimeIf(); result = ReadRequestFromClient(client); if (result <= 0) { if (result < 0)