diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2020-08-15 17:59:05 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-15 17:59:05 +0200 |
commit | d4665e78590d182e1083e572ad50a89f04ec4d86 (patch) | |
tree | e94056bb13d9debe967be7a9b3ba5097f8dede52 | |
parent | dfc0986ae150e87f41fac84ab607ddd70cee9f3f (diff) | |
parent | 9d1cf0b6afae814a29c923192540e9066baa7eb9 (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.cpp | 2 | ||||
-rw-r--r-- | platform/osx/display_server_osx.mm | 6 |
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]; } } |