summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@redhat.com>2008-12-01 06:57:06 (GMT)
committerEric Anholt <eric@anholt.net>2008-12-02 21:24:39 (GMT)
commitbb072019fa8dd292a50ef433d05caeefd1304a73 (patch)
tree3b03785c997248354ef52b0a7f59b19966d40f29
parent3a690598cf18c4cdc6aadd10a1ecf0772cacd34b (diff)
xfree86: don't render SW cursors for devices attached to VCP (#16805)
When leaving 3D games such as quake3 or sauerbraten, a cursor may stay on the screen. This is caused by one run of SW rendering for the SD, even though the SD was attached to the VCP and thus has HW rendering capabilities. Check for the SD's attachment (like in all other functions) before deciding on SW or HW rendering. X.Org Bug 16805 <http://bugs.freedesktop.org/show_bug.cgi?id=16805> Signed-off-by: Peter Hutterer <peter.hutterer@redhat.com>
-rw-r--r--hw/xfree86/ramdac/xf86Cursor.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/hw/xfree86/ramdac/xf86Cursor.c b/hw/xfree86/ramdac/xf86Cursor.c
index 9d9839e..50af03b 100644
--- a/hw/xfree86/ramdac/xf86Cursor.c
+++ b/hw/xfree86/ramdac/xf86Cursor.c
@@ -314,7 +314,8 @@ xf86CursorSetCursor(DeviceIntPtr pDev, ScreenPtr pScreen, CursorPtr pCurs,
/* only update for VCP, otherwise we get cursor jumps when removing a
sprite. The second cursor is never HW rendered anyway. */
- if (pDev == inputInfo.pointer)
+ if (pDev == inputInfo.pointer ||
+ (!pDev->isMaster && pDev->u.master == inputInfo.pointer))
{
ScreenPriv->CurrentCursor = pCurs;
ScreenPriv->x = x;