mirror of
https://gitlab.freedesktop.org/xorg/xserver.git
synced 2025-12-20 21:00:03 +01:00
dix: don't attempt to deliver an event for a different grabtype
For an active grab, grab->eventMask can be either the core or the XI1 mask.
With the overlap of event filters, calling DeliverOneGrabbedEvent(XI1) for a
ProximityOut event will trigger if the client has selected for enter events -
the filter is the same for both.
Thus, we end up delivering a proximity event to a client not expecting one.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
(cherry picked from commit 78944d62ff)
This commit is contained in:
parent
f5b22ee8ba
commit
acb447ef69
1 changed files with 3 additions and 0 deletions
|
|
@ -4139,6 +4139,9 @@ DeliverOneGrabbedEvent(InternalEvent *event, DeviceIntPtr dev,
|
||||||
GrabPtr grab = grabinfo->grab;
|
GrabPtr grab = grabinfo->grab;
|
||||||
Mask filter;
|
Mask filter;
|
||||||
|
|
||||||
|
if (grab->grabtype != level)
|
||||||
|
return 0;
|
||||||
|
|
||||||
switch (level) {
|
switch (level) {
|
||||||
case XI2:
|
case XI2:
|
||||||
rc = EventToXI2(event, &xE);
|
rc = EventToXI2(event, &xE);
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue