summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@redhat.com>2008-09-25 11:03:22 +0930
committerPeter Hutterer <peter.hutterer@redhat.com>2008-09-26 09:33:39 +0930
commitfeaa5fa6712c8c6f4ca97766e2ac0338253cf3b8 (patch)
tree226419da91c3fc37765bcc629244408ac845b77f
parente58be0f3425fb3e946a222077672c3c01308f887 (diff)
xfixes: realize the invisible cursor before displaying it.
AllocARGBCursor realizes the cursor but can only do so if we have devices there already. If we don't - then the cursor needs to be realized elsewhere. This is usually done in InitializeSprite, but since xfixes just hard-swaps the (realized) cursor to the InvisibleCursor, we need to manually realize it before trying to display it.
-rwxr-xr-xxfixes/cursor.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/xfixes/cursor.c b/xfixes/cursor.c
index 2a42a0b2c..2c584f9f4 100755
--- a/xfixes/cursor.c
+++ b/xfixes/cursor.c
@@ -142,7 +142,8 @@ CursorDisplayCursor (DeviceIntPtr pDev,
CursorVisible = TRUE;
if (cs->pCursorHideCounts != NULL || !CursorVisible) {
- ret = (*pScreen->DisplayCursor) (pDev, pScreen, pInvisibleCursor);
+ ret = ((*pScreen->RealizeCursor)(pDev, pScreen, pInvisibleCursor) &&
+ (*pScreen->DisplayCursor) (pDev, pScreen, pInvisibleCursor));
} else {
ret = (*pScreen->DisplayCursor) (pDev, pScreen, pCursor);
}