diff options
Diffstat (limited to 'xorg-server/dix/events.c')
-rw-r--r-- | xorg-server/dix/events.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/xorg-server/dix/events.c b/xorg-server/dix/events.c index 9496b6f19..6d5f67586 100644 --- a/xorg-server/dix/events.c +++ b/xorg-server/dix/events.c @@ -745,7 +745,10 @@ CheckPhysLimits(DeviceIntPtr pDev, CursorPtr cursor, Bool generateEvents, Bool c (new.x != pSprite->hotPhys.x) || (new.y != pSprite->hotPhys.y)) { #ifdef PANORAMIX if (!noPanoramiXExtension) - XineramaSetCursorPosition(pDev, new.x, new.y, generateEvents); + { + if (pScreen && ((new.x != pSprite->hotPhys.x) || (new.y != pSprite->hotPhys.y))) + XineramaSetCursorPosition(pDev, new.x, new.y, generateEvents); + } else #endif { @@ -1170,7 +1173,7 @@ void PlayReleasedEvents(void) { QdEventPtr tmp; - QdEventPtr qe; + QdEventPtr qe=NULL; DeviceIntPtr dev; DeviceIntPtr pDev; @@ -2253,7 +2256,7 @@ DeliverRawEvent(RawDeviceEvent *ev, DeviceIntPtr device) rc = EventToXI2((InternalEvent *) ev, (xEvent **) &xi); if (rc != Success) { ErrorF("[Xi] %s: XI2 conversion failed in %s (%d)\n", - __func__, device->name, rc); + __FUNCTION__, device->name, rc); return; } @@ -2906,6 +2909,9 @@ CheckMotion(DeviceEvent *ev, DeviceIntPtr pDev) verify_internal_event((InternalEvent *) ev); + if (!pSprite) + return FALSE; + prevSpriteWin = pSprite->win; if (ev && !syncEvents.playingEvents) { @@ -5190,7 +5196,8 @@ void InitEvents(void) { int i; - QdEventPtr qe, tmp; + QdEventPtr qe=NULL; + QdEventPtr tmp; inputInfo.numDevices = 0; inputInfo.devices = (DeviceIntPtr) NULL; |