File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -21,10 +21,13 @@ struct SettingsWindowResizer: NSViewRepresentable {
2121 guard let window = nsView. window else { return }
2222 let newFrameSize = window. frameRect ( forContentRect: NSRect ( origin: . zero, size: size) ) . size
2323 guard window. frame. size != newFrameSize else { return }
24- var frame = window. frame
25- frame. origin. y += frame. size. height - newFrameSize. height
26- frame. size = newFrameSize
27- window. setFrame ( frame, display: true , animate: window. isVisible)
24+ // Defer to next run loop tick to avoid reentrant layout during SwiftUI rendering
25+ DispatchQueue . main. async {
26+ var frame = window. frame
27+ frame. origin. y += frame. size. height - newFrameSize. height
28+ frame. size = newFrameSize
29+ window. setFrame ( frame, display: true , animate: window. isVisible)
30+ }
2831 }
2932}
3033
You can’t perform that action at this time.
0 commit comments