From 8e23e34d989d5ce542fa26425f091fc61e1f23f4 Mon Sep 17 00:00:00 2001 From: Chen Zhang Date: Tue, 4 Jun 2019 17:36:48 +0800 Subject: ui/cocoa: Fix mouse grabbing in fullscreen mode for relative input device In fullscreen mode, the window property of cocoaView may not be the key window, and the current implementation would not re-grab cursor by left click in fullscreen mode after ungrabbed in fullscreen mode with hot-key ctrl-opt-g. This patch used value of isFullscreen as a short-cirtuit condition for relative input device grabbing. Signed-off-by: Chen Zhang Reviewed-by: Peter Maydell Message-id: 2D2F1191-E82F-4B54-A6E7-73FFB953DE93@me.com Signed-off-by: Peter Maydell --- ui/cocoa.m | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'ui/cocoa.m') diff --git a/ui/cocoa.m b/ui/cocoa.m index 73cfafa..c298402 100644 --- a/ui/cocoa.m +++ b/ui/cocoa.m @@ -902,7 +902,12 @@ QemuCocoaView *cocoaView; case NSEventTypeLeftMouseUp: mouse_event = true; if (!isMouseGrabbed && [self screenContainsPoint:p]) { - if([[self window] isKeyWindow]) { + /* + * In fullscreen mode, the window of cocoaView may not be the + * key window, therefore the position relative to the virtual + * screen alone will be sufficient. + */ + if(isFullscreen || [[self window] isKeyWindow]) { [self grabMouse]; } } -- cgit v1.1