From 032cdcb4c7cb9554987cd39fcbbf86dc05200216 Mon Sep 17 00:00:00 2001 From: Julien Lebosquain Date: Tue, 17 Dec 2024 16:34:12 +0100 Subject: [PATCH] [macOS] Prevent popups from stealing focus (#17794) --- native/Avalonia.Native/src/OSX/PopupImpl.mm | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/native/Avalonia.Native/src/OSX/PopupImpl.mm b/native/Avalonia.Native/src/OSX/PopupImpl.mm index 40fe8ce88b..f385bddfae 100644 --- a/native/Avalonia.Native/src/OSX/PopupImpl.mm +++ b/native/Avalonia.Native/src/OSX/PopupImpl.mm @@ -42,6 +42,15 @@ public: return WindowBaseImpl::Show(activate, true); } + + virtual bool ShouldTakeFocusOnShow() override + { + // Don't steal the focus from another windows if our parent is inactive + if (Parent != nullptr && Parent->Window != nullptr && ![Parent->Window isKeyWindow]) + return false; + + return WindowBaseImpl::ShouldTakeFocusOnShow(); + } };