diff options
authorPeter Hutterer <>2008-12-01 16:57:06 +1000
committerKeith Packard <>2008-12-16 12:03:04 -0800
commit0d12c44d832b98da10dccc3b8bac7676d8ea2c96 (patch)
parent63b3bf85ed4e11ace433e6aa21b311cce7144007 (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 <> Signed-off-by: Peter Hutterer <> (cherry picked from commit bb072019fa8dd292a50ef433d05caeefd1304a73)
1 files changed, 2 insertions, 1 deletions
diff --git a/hw/xfree86/ramdac/xf86Cursor.c b/hw/xfree86/ramdac/xf86Cursor.c
index aea1d3337..2b73b1698 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;