dix: always send focus event on grab change
Focus events are useless when 'from' and 'to' are the same. But when this is the result of a (Un)GrabKeyboard request, we should always send them, including when the window manager had previously used XSetInputFocus to specify the focus on a window which happens to be now taking a grab. This is notably needed for window manager using XI to always get keyboard events even during grabs, so they can determine exactly when grabbing is active. Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
		
							parent
							
								
									14be894b3f
								
							
						
					
					
						commit
						c67f2eac56
					
				|  | @ -1562,7 +1562,7 @@ DoFocusEvents(DeviceIntPtr pDev, WindowPtr from, WindowPtr to, int mode) | ||||||
|     if (!IsKeyboardDevice(pDev)) |     if (!IsKeyboardDevice(pDev)) | ||||||
|         return; |         return; | ||||||
| 
 | 
 | ||||||
|     if (from == to) |     if (from == to && mode != NotifyGrab && mode != NotifyUngrab) | ||||||
|         return; |         return; | ||||||
| 
 | 
 | ||||||
|     CoreFocusEvents(pDev, from, to, mode); |     CoreFocusEvents(pDev, from, to, mode); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue