diff --git a/dix/devices.c b/dix/devices.c index 30fc7b33d..c9831ea92 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -2265,11 +2265,8 @@ GetPairedDevice(DeviceIntPtr dev) dev = dev->u.master; if (!dev->spriteInfo->paired) - { - ErrorF("[dix] No device paired with %d (%s).\n", - dev->id, dev->name); return NULL; - } + return dev->spriteInfo->paired; } diff --git a/dix/getevents.c b/dix/getevents.c index 30443018c..a23eabea2 100644 --- a/dix/getevents.c +++ b/dix/getevents.c @@ -736,8 +736,11 @@ GetPointerEvents(EventList *events, DeviceIntPtr pDev, int type, int buttons, pDev->valuator->lastx = x; pDev->valuator->lasty = y; - master->valuator->lastx = x; - master->valuator->lasty = y; + if (master) + { + master->valuator->lastx = x; + master->valuator->lasty = y; + } if (!coreOnly) { diff --git a/mi/mipointer.c b/mi/mipointer.c index 7b565799e..b2f31c1d5 100644 --- a/mi/mipointer.c +++ b/mi/mipointer.c @@ -529,7 +529,7 @@ miPointerCurrentScreen () _X_EXPORT ScreenPtr miPointerGetScreen(DeviceIntPtr pDev) { - if (!pDev->isMaster && !pDev->u.master) + if (!pDev || (!pDev->isMaster && !pDev->u.master)) return NULL; return MIPOINTER(pDev)->pScreen;