From a5d73750d46c3306dca6dcf0cd9e7c36bf8b495d Mon Sep 17 00:00:00 2001 From: Peter Hutterer Date: Mon, 1 Dec 2008 16:57:06 +1000 Subject: [PATCH] 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 Signed-off-by: Peter Hutterer --- hw/xfree86/ramdac/xf86Cursor.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/hw/xfree86/ramdac/xf86Cursor.c b/hw/xfree86/ramdac/xf86Cursor.c index aea1d33..2b73b16 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; -- 1.6.0.3