From 53fecec28ad3051b58b33b01035f9abd8a71d7e0 Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Tue, 2 Jun 2020 14:19:00 -0300 Subject: [PATCH] prevent stack overflow entering fs mode. --- native/Avalonia.Native/src/OSX/window.mm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/native/Avalonia.Native/src/OSX/window.mm b/native/Avalonia.Native/src/OSX/window.mm index e3c2c74e19..5c64905a2f 100644 --- a/native/Avalonia.Native/src/OSX/window.mm +++ b/native/Avalonia.Native/src/OSX/window.mm @@ -1016,12 +1016,14 @@ NSArray* AllLoopModes = [NSArray arrayWithObjects: NSDefaultRunLoopMode, NSEvent NSView* _content; NSVisualEffectView* _blurBehind; double _titleBarHeightHint; + bool _settingSize; } -(AutoFitContentView* _Nonnull) initWithContent:(NSView *)content { _titleBarHeightHint = -1; _content = content; + _settingSize = false; [self setAutoresizesSubviews:true]; [self setWantsLayer:true]; @@ -1073,6 +1075,12 @@ NSArray* AllLoopModes = [NSArray arrayWithObjects: NSDefaultRunLoopMode, NSEvent -(void)setFrameSize:(NSSize)newSize { + if(_settingSize) + { + return; + } + + _settingSize = true; [super setFrameSize:newSize]; [_blurBehind setFrameSize:newSize]; @@ -1093,6 +1101,7 @@ NSArray* AllLoopModes = [NSArray arrayWithObjects: NSDefaultRunLoopMode, NSEvent [_titleBarMaterial setFrame:tbar]; tbar.size.height = height < 1 ? 0 : 1; [_titleBarUnderline setFrame:tbar]; + _settingSize = false; } -(void) SetContent: (NSView* _Nonnull) content