On Wed, 14 Apr 2010 17:43:22 +1000, Peter Hutterer <[email protected]> wrote:
> The check's purpose is to compare if the other device is grabbed by the same > client, which should be checked by accessing > (dev->deviceGrab->grab->resource). > A check of the server-1.3 sources confirms that. This seems obvious -- when sync.state is set to FREEZE_BOTH_NEXT_EVENT, the same device may get sync.other set to NullGrab. And, the goal is to re-freeze any device grabbed by the same client, which is what the new code does. I don't understand what the old code was trying to do; there isn't any reason to talk about the sync.other element. > @@ -3980,7 +3980,7 @@ DeliverGrabbedEvent(InternalEvent *event, DeviceIntPtr > thisDev, > FreezeThaw(dev, TRUE); > if ((dev->deviceGrab.sync.state == FREEZE_BOTH_NEXT_EVENT) && > (CLIENT_BITS(grab->resource) == > - CLIENT_BITS(dev->deviceGrab.sync.other->resource))) > + CLIENT_BITS(dev->deviceGrab.grab->resource))) > dev->deviceGrab.sync.state = FROZEN_NO_EVENT; > else > dev->deviceGrab.sync.other = grab; Reviewed-by: Keith Packard <[email protected]> -- [email protected]
pgpGzQcgJLLtR.pgp
Description: PGP signature
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
