[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 18/21] ui/cocoa: release mouse when user switches away from QEMU w
From: |
Philippe Mathieu-Daudé |
Subject: |
[PULL 18/21] ui/cocoa: release mouse when user switches away from QEMU window |
Date: |
Tue, 15 Mar 2022 13:53:47 +0100 |
From: Carwyn Ellis <carwynellis@gmail.com>
This resolves an issue where using command-tab to switch between QEMU
and other windows on the host can leave the mouse pointer visible.
By releasing the mouse when the user switches away, the user must left
click on the QEMU window when switching back in order to hide the
pointer and return control to the guest.
This appraoch ensures that the calls to NSCursor hide and unhide are
always balanced and thus work correctly when invoked.
Signed-off-by: Carwyn Ellis <carwynellis@gmail.com>
Reviewed-by: Akihiko Odaki <akihiko.odaki@gmail.com>
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
ui/cocoa.m | 2 ++
1 file changed, 2 insertions(+)
diff --git a/ui/cocoa.m b/ui/cocoa.m
index 1aa51c42dc..d20c74d938 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -1261,6 +1261,7 @@ QemuCocoaView *cocoaView;
- (void) applicationWillResignActive: (NSNotification *)aNotification
{
COCOA_DEBUG("QemuCocoaAppController: applicationWillResignActive\n");
+ [cocoaView ungrabMouse];
[cocoaView raiseAllKeys];
}
@@ -2000,6 +2001,7 @@ static void cocoa_display_init(DisplayState *ds,
DisplayOptions *opts)
[(QemuCocoaAppController *)[[NSApplication sharedApplication]
delegate] toggleFullScreen: nil];
});
}
+
if (opts->has_show_cursor && opts->show_cursor) {
cursor_hide = 0;
}
--
2.34.1
- [PULL 08/21] audio/dbus: Fix building with modules on macOS, (continued)
- [PULL 08/21] audio/dbus: Fix building with modules on macOS, Philippe Mathieu-Daudé, 2022/03/15
- [PULL 09/21] audio: Log context for audio bug, Philippe Mathieu-Daudé, 2022/03/15
- [PULL 10/21] coreaudio: Always return 0 in handle_voice_change, Philippe Mathieu-Daudé, 2022/03/15
- [PULL 11/21] audio: Rename coreaudio extension to use Objective-C compiler, Philippe Mathieu-Daudé, 2022/03/15
- [PULL 12/21] osdep: Avoid using Clang-specific __builtin_available(), Philippe Mathieu-Daudé, 2022/03/15
- [PULL 13/21] meson: Resolve the entitlement.sh script once for good, Philippe Mathieu-Daudé, 2022/03/15
- [PULL 14/21] meson: Log QEMU_CXXFLAGS content in summary, Philippe Mathieu-Daudé, 2022/03/15
- [PULL 15/21] configure: Pass filtered QEMU_OBJCFLAGS to meson, Philippe Mathieu-Daudé, 2022/03/15
- [PULL 16/21] ui/cocoa: Constify qkeycode translation arrays, Philippe Mathieu-Daudé, 2022/03/15
- [PULL 17/21] ui/cocoa: add option to disable left-command forwarding to guest, Philippe Mathieu-Daudé, 2022/03/15
- [PULL 18/21] ui/cocoa: release mouse when user switches away from QEMU window,
Philippe Mathieu-Daudé <=
- [PULL 19/21] ui/cocoa: capture all keys and combos when mouse is grabbed, Philippe Mathieu-Daudé, 2022/03/15
- [PULL 20/21] ui/cocoa: add option to swap Option and Command, Philippe Mathieu-Daudé, 2022/03/15
- [PULL 21/21] MAINTAINERS: Volunteer to maintain Darwin-based hosts support, Philippe Mathieu-Daudé, 2022/03/15
- Re: [PULL 00/21] Darwin patches for 2022-03-15, Peter Maydell, 2022/03/15