On 20/02/2012 03:23, Peter Hutterer wrote: > 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 <[email protected]> > --- > Turned out the vesa test case was another occurence of this same issue, so I > think that instaead of the previous two patches (revert + fix) it's better > to just push this one instead. After all, there may be more lingering bugs > here so we might as well squash all of them preventively. > > It's a bit more bigger than I'd like at this point in the release but given > that this is how the API was intended it should have few repercussions. > > dix/events.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/dix/events.c b/dix/events.c > index 3c7d5d0..96e3f9c 100644 > --- a/dix/events.c > +++ b/dix/events.c > @@ -343,7 +343,7 @@ IsMaster(DeviceIntPtr dev) > Bool > IsFloating(DeviceIntPtr dev) > { > - return GetMaster(dev, MASTER_KEYBOARD) == NULL; > + return !IsMaster(dev) && GetMaster(dev, MASTER_KEYBOARD) == NULL; > }
Tested-by: Jon TURNEY <[email protected]> Thanks again. _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
