diff --git a/native/Avalonia.Native/src/OSX/WindowBaseImpl.h b/native/Avalonia.Native/src/OSX/WindowBaseImpl.h index 1c82e91697..874a875330 100644 --- a/native/Avalonia.Native/src/OSX/WindowBaseImpl.h +++ b/native/Avalonia.Native/src/OSX/WindowBaseImpl.h @@ -106,7 +106,6 @@ protected: AvnPoint lastPositionSet; bool _shown; std::list _children; - bool _isModal; public: WindowBaseImpl* Parent = nullptr; diff --git a/native/Avalonia.Native/src/OSX/WindowBaseImpl.mm b/native/Avalonia.Native/src/OSX/WindowBaseImpl.mm index 2136428db4..c47cf5e406 100644 --- a/native/Avalonia.Native/src/OSX/WindowBaseImpl.mm +++ b/native/Avalonia.Native/src/OSX/WindowBaseImpl.mm @@ -498,9 +498,7 @@ HRESULT WindowBaseImpl::SetParent(IAvnWindowBase *parent) { auto cparent = dynamic_cast(parent); Parent = cparent; - - _isModal = Parent != nullptr; - + if(Parent != nullptr && Window != nullptr){ // If one tries to show a child window with a minimized parent window, then the parent window will be // restored but macOS isn't kind enough to *tell* us that, so the window will be left in a non-interactive diff --git a/native/Avalonia.Native/src/OSX/WindowImpl.h b/native/Avalonia.Native/src/OSX/WindowImpl.h index b931e933db..fce7273f30 100644 --- a/native/Avalonia.Native/src/OSX/WindowImpl.h +++ b/native/Avalonia.Native/src/OSX/WindowImpl.h @@ -101,6 +101,7 @@ private: bool _transitioningWindowState; bool _isClientAreaExtended; AvnExtendClientAreaChromeHints _extendClientHints; + bool _isModal; }; #endif //AVALONIA_NATIVE_OSX_WINDOWIMPL_H