dix: don't prepend an activated passive grab to the listeners
If the device is currently grabbed as the result of a passive grab activating, do not prepend that grab to the listeners (unlike active grabs). Otherwise, a client with a passive pointer grab will prevent touch grabs from activating higher up in the window stack. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
		
							parent
							
								
									9cc45c18ad
								
							
						
					
					
						commit
						363b6387da
					
				| 
						 | 
					@ -874,7 +874,7 @@ TouchSetupListeners(DeviceIntPtr dev, TouchPointInfoPtr ti, InternalEvent *ev)
 | 
				
			||||||
    SpritePtr sprite = &ti->sprite;
 | 
					    SpritePtr sprite = &ti->sprite;
 | 
				
			||||||
    WindowPtr win;
 | 
					    WindowPtr win;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if (dev->deviceGrab.grab)
 | 
					    if (dev->deviceGrab.grab && !dev->deviceGrab.fromPassiveGrab)
 | 
				
			||||||
        TouchAddActiveGrabListener(dev, ti, ev, dev->deviceGrab.grab);
 | 
					        TouchAddActiveGrabListener(dev, ti, ev, dev->deviceGrab.grab);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /* We set up an active touch listener for existing touches, but not any
 | 
					    /* We set up an active touch listener for existing touches, but not any
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue