diff --git a/internal/ui/ui_glfw.go b/internal/ui/ui_glfw.go index 1c2fcd2366c1..592557f3efb5 100644 --- a/internal/ui/ui_glfw.go +++ b/internal/ui/ui_glfw.go @@ -1019,7 +1019,8 @@ func (u *userInterfaceImpl) update() (float64, float64, error) { return 0, 0, err } - for u.bufferOnceSwapped && !u.isRunnableOnUnfocused() && u.window.GetAttrib(glfw.Focused) == 0 && !u.window.ShouldClose() { + // In the initial state on macOS, the window is not shown (#2620). + for u.window.GetAttrib(glfw.Visible) != 0 && !u.isRunnableOnUnfocused() && u.window.GetAttrib(glfw.Focused) == 0 && !u.window.ShouldClose() { if err := hooks.SuspendAudio(); err != nil { return 0, 0, err }