dix: don't allow overriding a grab with a different type of grab (#58255)
If a client has a core grab, don't allow re-grabbing with type XI2, etc. This was the intent of the original commit xorg-server-1.5.99.1-782-g09f9a86, but ineffective. X.Org Bug 58255 <http://bugs.freedesktop.org/show_bug.cgi?id=58255> Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Reviewed-by: Keith Packard <keithp@keithp.com>
This commit is contained in:
		
							parent
							
								
									58bff17e43
								
							
						
					
					
						commit
						dd3242c87a
					
				| 
						 | 
					@ -5043,7 +5043,7 @@ GrabDevice(ClientPtr client, DeviceIntPtr dev,
 | 
				
			||||||
    grab = grabInfo->grab;
 | 
					    grab = grabInfo->grab;
 | 
				
			||||||
    if (grab && grab->grabtype != grabtype)
 | 
					    if (grab && grab->grabtype != grabtype)
 | 
				
			||||||
        *status = AlreadyGrabbed;
 | 
					        *status = AlreadyGrabbed;
 | 
				
			||||||
    if (grab && !SameClient(grab, client))
 | 
					    else if (grab && !SameClient(grab, client))
 | 
				
			||||||
        *status = AlreadyGrabbed;
 | 
					        *status = AlreadyGrabbed;
 | 
				
			||||||
    else if ((!pWin->realized) ||
 | 
					    else if ((!pWin->realized) ||
 | 
				
			||||||
             (confineTo &&
 | 
					             (confineTo &&
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue