animcur: Fix crash when removing a master device

Reproducer:

$ Xvfb -ac -noreset :1 &
$ DISPLAY=:1 xinput create-master touch1
$ DISPLAY=:1 xinput remove-master "touch1 pointer"

Bugzilla: https://bugs.freedesktop.org/105761
Signed-off-by: Adam Jackson <ajax@redhat.com>
Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
Adam Jackson 2018-04-23 15:21:14 -04:00
parent 8275903956
commit 9d5af632fd

View File

@ -155,7 +155,8 @@ AnimCurTimerNotify(OsTimerPtr timer, CARD32 now, void *arg)
static void static void
AnimCurCancelTimer(DeviceIntPtr pDev) AnimCurCancelTimer(DeviceIntPtr pDev)
{ {
CursorPtr cur = pDev->spriteInfo->sprite->current; CursorPtr cur = pDev->spriteInfo->sprite ?
pDev->spriteInfo->sprite->current : NULL;
if (IsAnimCur(cur)) if (IsAnimCur(cur))
TimerCancel(GetAnimCur(cur)->timer); TimerCancel(GetAnimCur(cur)->timer);