xserver: Branch 'master'

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Wed Feb 17 04:35:07 UTC 2021


 dix/events.c |    7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

New commits:
commit af17b5c499ded807395c7ef02254d5af8ddc4667
Author: Povilas Kanapickas <povilas at radix.lt>
Date:   Mon Feb 15 14:52:32 2021 +0200

    dix: Use correct listener to deliver touch end events
    
    This fixes an problem left in f682e0563f736ed2c2c612ed575e05b6e3db945e
    due to an incorrect cherry-pick.
    
    We must use old listener->listener to deliver the touch event. Otherwise
    grab won't let the event through and the abovementioned commit has no
    effect.
    
    Signed-off-by: Povilas Kanapickas <povilas at radix.lt>

diff --git a/dix/events.c b/dix/events.c
index b05c95c43..20a40ecb2 100644
--- a/dix/events.c
+++ b/dix/events.c
@@ -1480,10 +1480,6 @@ UpdateTouchesForGrab(DeviceIntPtr mouse)
 
         if (ti->active &&
             CLIENT_BITS(listener->listener) == grab->resource) {
-            listener->listener = grab->resource;
-            listener->level = grab->grabtype;
-            listener->window = grab->window;
-
             if (grab->grabtype == CORE || grab->grabtype == XI ||
                 !xi2mask_isset(grab->xi2mask, mouse, XI_TouchBegin)) {
 
@@ -1501,6 +1497,9 @@ UpdateTouchesForGrab(DeviceIntPtr mouse)
                 listener->type = TOUCH_LISTENER_GRAB;
             }
 
+            listener->listener = grab->resource;
+            listener->level = grab->grabtype;
+            listener->window = grab->window;
             listener->state = TOUCH_LISTENER_IS_OWNER;
 
             if (listener->grab)


More information about the xorg-commit mailing list