diff --git a/dix/devices.c b/dix/devices.c index 1cde5c09a..383c1c799 100644 --- a/dix/devices.c +++ b/dix/devices.c @@ -358,6 +358,14 @@ DisableDevice(DeviceIntPtr dev) AttachDevice(NULL, other, NULL); } } + else + { + for (other = inputInfo.devices; other; other = other->next) + { + if (other->isMaster && other->u.lastSlave == dev) + other->u.lastSlave = NULL; + } + } if (dev->isMaster && dev->spriteInfo->sprite) {