mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-01-03 04:40:10 +01:00
dix: fix device sync state when calling SyncBoth during AllowEvents.
This did access the wrong device's sync state, potentially freezing or not thawing the actual device that was supposed to be thawed. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
f1c7b95d83
commit
7d4df0ee44
1 changed files with 4 additions and 4 deletions
|
|
@ -3635,12 +3635,12 @@ DeliverGrabbedEvent(InternalEvent *event, DeviceIntPtr thisDev,
|
|||
if (dev == thisDev)
|
||||
continue;
|
||||
FreezeThaw(dev, TRUE);
|
||||
if ((grabinfo->sync.state == FREEZE_BOTH_NEXT_EVENT) &&
|
||||
if ((dev->deviceGrab.sync.state == FREEZE_BOTH_NEXT_EVENT) &&
|
||||
(CLIENT_BITS(grab->resource) ==
|
||||
CLIENT_BITS(grab->resource)))
|
||||
grabinfo->sync.state = FROZEN_NO_EVENT;
|
||||
CLIENT_BITS(dev->deviceGrab.sync.other->resource)))
|
||||
dev->deviceGrab.sync.state = FROZEN_NO_EVENT;
|
||||
else
|
||||
grabinfo->sync.other = grab;
|
||||
dev->deviceGrab.sync.other = grab;
|
||||
}
|
||||
/* fall through */
|
||||
case FREEZE_NEXT_EVENT:
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue