dix: Properly detect if the other device is frozen

Signed-off-by: Jeremy Huddleston <jeremyhu@freedesktop.org>
This commit is contained in:
Jeremy Huddleston 2009-10-27 18:00:48 -07:00
parent 5e79976c13
commit 7897b6c2d4
1 changed files with 3 additions and 5 deletions

View File

@ -1673,7 +1673,7 @@ AllowSome(ClientPtr client,
thisGrabbed = grabinfo->grab && SameClient(grabinfo->grab, client);
thisSynced = FALSE;
otherGrabbed = FALSE;
othersFrozen = TRUE;
othersFrozen = FALSE;
grabTime = grabinfo->grabTime;
for (dev = inputInfo.devices; dev; dev = dev->next)
{
@ -1689,11 +1689,9 @@ AllowSome(ClientPtr client,
otherGrabbed = TRUE;
if (grabinfo->sync.other == devgrabinfo->grab)
thisSynced = TRUE;
if (devgrabinfo->sync.state < FROZEN)
othersFrozen = FALSE;
if (devgrabinfo->sync.state >= FROZEN)
othersFrozen = TRUE;
}
else if (!devgrabinfo->sync.other || !SameClient(devgrabinfo->sync.other, client))
othersFrozen = FALSE;
}
if (!((thisGrabbed && grabinfo->sync.state >= FROZEN) || thisSynced))
return;