aboutsummaryrefslogtreecommitdiff
path: root/xorg-server/dix/events.c
diff options
context:
space:
mode:
Diffstat (limited to 'xorg-server/dix/events.c')
-rw-r--r--xorg-server/dix/events.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/xorg-server/dix/events.c b/xorg-server/dix/events.c
index d070a4c6f..015c2b19f 100644
--- a/xorg-server/dix/events.c
+++ b/xorg-server/dix/events.c
@@ -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;