xfixes: Restore monitoring of animated cursors

This was broken by:

    commit aa6651f83c
    Author: Adam Jackson <ajax@redhat.com>
    Date:   Thu Jun 8 16:23:12 2017 -0400

        xfixes: Remove the CursorCurrent array

As of that change we look up the current cursor dynamically instead of
trying to track every time it's set through ->DisplayCursor. That would
work, except the 'bits' of an animated cursor is a transparent 1x1
pixel. So now, look up whether there's an animated cursor, and use its
current frame if so.

Signed-off-by: Adam Jackson <ajax@redhat.com>
This commit is contained in:
Adam Jackson 2018-02-12 15:35:05 -05:00
parent 0b7a5700ad
commit ceaf427744
1 changed files with 4 additions and 1 deletions

View File

@ -134,8 +134,11 @@ Bool EnableCursor = TRUE;
static CursorPtr
CursorForDevice(DeviceIntPtr pDev)
{
if (pDev && pDev->spriteInfo && pDev->spriteInfo->sprite)
if (pDev && pDev->spriteInfo && pDev->spriteInfo->sprite) {
if (pDev->spriteInfo->anim.pCursor)
return pDev->spriteInfo->anim.pCursor;
return pDev->spriteInfo->sprite->current;
}
return NULL;
}