[macOS] Fix borderless mode on macOS 13.6+.

(cherry picked from commit 873d4079d1)
This commit is contained in:
bruvzg 2023-09-26 11:55:25 +03:00 committed by Yuri Sizov
parent fdfa59ee6c
commit 426e5288a1
1 changed files with 3 additions and 1 deletions

View File

@ -2954,7 +2954,9 @@ void DisplayServerMacOS::window_set_flag(WindowFlags p_flag, bool p_enabled, Win
} break; } break;
case WINDOW_FLAG_BORDERLESS: { case WINDOW_FLAG_BORDERLESS: {
// OrderOut prevents a lose focus bug with the window. // OrderOut prevents a lose focus bug with the window.
bool was_visible = false;
if ([wd.window_object isVisible]) { if ([wd.window_object isVisible]) {
was_visible = true;
[wd.window_object orderOut:nil]; [wd.window_object orderOut:nil];
} }
wd.borderless = p_enabled; wd.borderless = p_enabled;
@ -2969,7 +2971,7 @@ void DisplayServerMacOS::window_set_flag(WindowFlags p_flag, bool p_enabled, Win
[wd.window_object setFrame:frameRect display:NO]; [wd.window_object setFrame:frameRect display:NO];
} }
_update_window_style(wd); _update_window_style(wd);
if ([wd.window_object isVisible]) { if (was_visible || [wd.window_object isVisible]) {
if ([wd.window_object isMiniaturized]) { if ([wd.window_object isMiniaturized]) {
return; return;
} else if (wd.no_focus) { } else if (wd.no_focus) {