From 09b6118f688d713bd6b3caec680e06d3e280b83c Mon Sep 17 00:00:00 2001 From: Dan Walmsley Date: Fri, 12 Oct 2018 00:22:53 +0100 Subject: [PATCH] fix window showmodal --- src/Avalonia.Native.OSX/window.mm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Avalonia.Native.OSX/window.mm b/src/Avalonia.Native.OSX/window.mm index 6338db63c0..5cf50efdc3 100644 --- a/src/Avalonia.Native.OSX/window.mm +++ b/src/Avalonia.Native.OSX/window.mm @@ -968,6 +968,7 @@ NSArray* AllLoopModes = [NSArray arrayWithObjects: NSDefaultRunLoopMode, NSEvent { ComPtr _parent; bool _canBecomeKeyAndMain; + bool _closed; } - (void)pollModalSession:(nonnull NSModalSession)session @@ -980,7 +981,7 @@ NSArray* AllLoopModes = [NSArray arrayWithObjects: NSDefaultRunLoopMode, NSEvent [self pollModalSession:session]; }); } - else + else if (!_closed) { [self orderOut:self]; [NSApp endModalSession:session]; @@ -1014,6 +1015,7 @@ NSArray* AllLoopModes = [NSArray arrayWithObjects: NSDefaultRunLoopMode, NSEvent - (void)windowWillClose:(NSNotification *)notification { + _closed = true; _parent->BaseEvents->Closed(); }