Sorry, forgot the attachment.
Thomas Jaeger wrote:
> The attached patch implements the suggested behavior. I don't think
> that this violates the spec.
>From c41b2dcfe145022b1a3dba4243ad992e903238f2 Mon Sep 17 00:00:00 2001
From: Thomas Jaeger <[email protected]>
Date: Sat, 3 Jan 2009 17:19:55 -0500
Subject: [PATCH] Update rootX/rootY when replaying events
This ensures that the actual motion history is replayed and that clients
know the current pointer position.
---
dix/events.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/dix/events.c b/dix/events.c
index bd56f3b..ac5adcc 100644
--- a/dix/events.c
+++ b/dix/events.c
@@ -2558,7 +2558,7 @@ CheckMotion(xEvent *xE, DeviceIntPtr pDev)
return XineramaCheckMotion(xE, pDev);
#endif
- if (xE && !syncEvents.playingEvents)
+ if (xE)
{
/* GetPointerEvents() guarantees that pointer events have the correct
rootX/Y set already. */
@@ -2602,8 +2602,8 @@ CheckMotion(xEvent *xE, DeviceIntPtr pDev)
ConfineToShape(pDev, pSprite->hotShape, &pSprite->hot.x, &pSprite->hot.y);
pSprite->hotPhys = pSprite->hot;
- if ((pSprite->hotPhys.x != *rootX) ||
- (pSprite->hotPhys.y != *rootY))
+ if (!syncEvents.playingEvents &&
+ ((pSprite->hotPhys.x != *rootX) || (pSprite->hotPhys.y != *rootY)))
{
(*pSprite->hotPhys.pScreen->SetCursorPosition)(
pDev, pSprite->hotPhys.pScreen,
--
1.6.0.4
_______________________________________________
xorg mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/xorg