Skip to content

Commit a63dd07

Browse files
committed
[macOS] Fix ~500ms hang on transparent OpenGL window creation on macOS 26.
1 parent 0400b70 commit a63dd07

File tree

1 file changed

+10
-6
lines changed

1 file changed

+10
-6
lines changed

platform/macos/display_server_macos.mm

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2647,9 +2647,11 @@
26472647
[wd.window_object setBackgroundColor:[NSColor colorWithCalibratedRed:0 green:0 blue:0 alpha:0.004f]];
26482648
}
26492649
// Force update of the window styles.
2650-
NSRect frameRect = [wd.window_object frame];
2651-
[wd.window_object setFrame:NSMakeRect(frameRect.origin.x, frameRect.origin.y, frameRect.size.width + 1, frameRect.size.height) display:NO];
2652-
[wd.window_object setFrame:frameRect display:NO];
2650+
if ([wd.window_object isVisible]) {
2651+
NSRect frameRect = [wd.window_object frame];
2652+
[wd.window_object setFrame:NSMakeRect(frameRect.origin.x, frameRect.origin.y, frameRect.size.width + 1, frameRect.size.height) display:NO];
2653+
[wd.window_object setFrame:frameRect display:NO];
2654+
}
26532655
}
26542656
_update_window_style(wd, p_window);
26552657
if (was_visible || [wd.window_object isVisible]) {
@@ -2683,9 +2685,11 @@
26832685
wd.layered_window = p_enabled;
26842686
set_window_per_pixel_transparency_enabled(p_enabled, p_window);
26852687
// Force update of the window styles.
2686-
NSRect frameRect = [wd.window_object frame];
2687-
[wd.window_object setFrame:NSMakeRect(frameRect.origin.x, frameRect.origin.y, frameRect.size.width + 1, frameRect.size.height) display:NO];
2688-
[wd.window_object setFrame:frameRect display:NO];
2688+
if ([wd.window_object isVisible]) {
2689+
NSRect frameRect = [wd.window_object frame];
2690+
[wd.window_object setFrame:NSMakeRect(frameRect.origin.x, frameRect.origin.y, frameRect.size.width + 1, frameRect.size.height) display:NO];
2691+
[wd.window_object setFrame:frameRect display:NO];
2692+
}
26892693
} break;
26902694
case WINDOW_FLAG_NO_FOCUS: {
26912695
wd.no_focus = p_enabled;

0 commit comments

Comments
 (0)