dix: IsFloating() on master devices is always false

There are a few subtle bugs during startup where IsFloating() returns true
if the device is a master device that is not yet paired with its keyboard
device.

Force IsFloating() to always return FALSE for master devices, that was the
intent after all and any code that relies on the other behaviour should be
fixed instead.

Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jeremy Huddleston <jeremyhu@apple.com>
Tested-by: Jon TURNEY <jon.turney@dronecode.org.uk>
This commit is contained in:
Peter Hutterer 2012-02-20 12:09:33 +10:00
parent 2c23ef83b0
commit 5497ce3da4
1 changed files with 1 additions and 1 deletions

View File

@ -341,7 +341,7 @@ IsMaster(DeviceIntPtr dev)
Bool
IsFloating(DeviceIntPtr dev)
{
return GetMaster(dev, MASTER_KEYBOARD) == NULL;
return !IsMaster(dev) && GetMaster(dev, MASTER_KEYBOARD) == NULL;
}
/**