summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2020-08-15 17:59:05 +0200
committerGitHub <noreply@github.com>2020-08-15 17:59:05 +0200
commitd4665e78590d182e1083e572ad50a89f04ec4d86 (patch)
treee94056bb13d9debe967be7a9b3ba5097f8dede52
parentdfc0986ae150e87f41fac84ab607ddd70cee9f3f (diff)
parent9d1cf0b6afae814a29c923192540e9066baa7eb9 (diff)
Merge pull request #41285 from bruvzg/macos_on_top_4
[macOS] Fix "on top" incorrectly set on init and resetting on window update.
-rw-r--r--main/main.cpp2
-rw-r--r--platform/osx/display_server_osx.mm6
2 files changed, 6 insertions, 2 deletions
diff --git a/main/main.cpp b/main/main.cpp
index e371bef25f..1c02fcf939 100644
--- a/main/main.cpp
+++ b/main/main.cpp
@@ -1140,7 +1140,7 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
}
if (bool(GLOBAL_GET("display/window/size/always_on_top"))) {
- window_flags |= DisplayServer::WINDOW_FLAG_ALWAYS_ON_TOP;
+ window_flags |= DisplayServer::WINDOW_FLAG_ALWAYS_ON_TOP_BIT;
}
}
diff --git a/platform/osx/display_server_osx.mm b/platform/osx/display_server_osx.mm
index 3b82950224..c4a5849d43 100644
--- a/platform/osx/display_server_osx.mm
+++ b/platform/osx/display_server_osx.mm
@@ -2374,7 +2374,11 @@ void DisplayServerOSX::_update_window(WindowData p_wd) {
[p_wd.window_object setHidesOnDeactivate:YES];
} else {
// Reset these when our window is not a borderless window that covers up the screen
- [p_wd.window_object setLevel:NSNormalWindowLevel];
+ if (p_wd.on_top) {
+ [p_wd.window_object setLevel:NSFloatingWindowLevel];
+ } else {
+ [p_wd.window_object setLevel:NSNormalWindowLevel];
+ }
[p_wd.window_object setHidesOnDeactivate:NO];
}
}