diff options
Diffstat (limited to 'xorg-server/dix/events.c')
-rw-r--r-- | xorg-server/dix/events.c | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/xorg-server/dix/events.c b/xorg-server/dix/events.c index 8f26bd618..7c6beacd2 100644 --- a/xorg-server/dix/events.c +++ b/xorg-server/dix/events.c @@ -1676,7 +1676,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) { @@ -1692,11 +1692,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; |