mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2026-05-03 01:58:06 +02:00
dix: don't copy the wrong event mask when activating a passive grab
GrabMask is a union of core, XI1 and XI2 masks. If a XI2 grab is activated,
the value is a random pointer value, using it as mask has unpredictable
effects.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Reviewed-by: Jasper St. Pierre <jstpierre@mecheye.net>
Reviewed-by: Keith Packard <keithp@keithp.com>
(cherry picked from commit f793b5fd3e)
This commit is contained in:
parent
c15bdf3163
commit
7800cf99f5
1 changed files with 4 additions and 1 deletions
|
|
@ -219,7 +219,10 @@ CreateGrab(int client, DeviceIntPtr device, DeviceIntPtr modDevice,
|
|||
grab->resource = FakeClientID(client);
|
||||
grab->device = device;
|
||||
grab->window = window;
|
||||
grab->eventMask = mask->core; /* same for XI */
|
||||
if (grabtype == CORE || grabtype == XI)
|
||||
grab->eventMask = mask->core; /* same for XI */
|
||||
else
|
||||
grab->eventMask = 0;
|
||||
grab->deviceMask = 0;
|
||||
grab->ownerEvents = param->ownerEvents;
|
||||
grab->keyboardMode = param->this_device_mode;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue