summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorRĂ©mi Verschelde <rverschelde@gmail.com>2020-06-22 11:21:08 +0200
committerGitHub <noreply@github.com>2020-06-22 11:21:08 +0200
commitbd85e4ec16f2a3d2822bb87b8cc67600f74e9d98 (patch)
treec820027349bcf4550c3eccc2ca39271b23d2ec07 /platform
parent10d2fa4210f9287af413d38c9ce8baf0b343ba20 (diff)
parent7a250b579fb2a95bc1e11eb165b31662efbb4699 (diff)
Merge pull request #39748 from bruvzg/macos_mouse_hide_counter
[macOS] Fix mouse cursor not shown after multiple mode changes.
Diffstat (limited to 'platform')
-rw-r--r--platform/osx/display_server_osx.mm8
1 files changed, 6 insertions, 2 deletions
diff --git a/platform/osx/display_server_osx.mm b/platform/osx/display_server_osx.mm
index 4a94e09c1c..920fd24c4a 100644
--- a/platform/osx/display_server_osx.mm
+++ b/platform/osx/display_server_osx.mm
@@ -1937,10 +1937,14 @@ void DisplayServerOSX::mouse_set_mode(MouseMode p_mode) {
// Apple Docs state that the display parameter is not used.
// "This parameter is not used. By default, you may pass kCGDirectMainDisplay."
// https://developer.apple.com/library/mac/documentation/graphicsimaging/reference/Quartz_Services_Ref/Reference/reference.html
- CGDisplayHideCursor(kCGDirectMainDisplay);
+ if (mouse_mode == MOUSE_MODE_VISIBLE || mouse_mode == MOUSE_MODE_CONFINED) {
+ CGDisplayHideCursor(kCGDirectMainDisplay);
+ }
CGAssociateMouseAndMouseCursorPosition(false);
} else if (p_mode == MOUSE_MODE_HIDDEN) {
- CGDisplayHideCursor(kCGDirectMainDisplay);
+ if (mouse_mode == MOUSE_MODE_VISIBLE || mouse_mode == MOUSE_MODE_CONFINED) {
+ CGDisplayHideCursor(kCGDirectMainDisplay);
+ }
CGAssociateMouseAndMouseCursorPosition(true);
} else {
CGDisplayShowCursor(kCGDirectMainDisplay);