Browse Source

[macOS] Prevent popups from stealing focus (#17794)

Julien Lebosquain 11 months ago
parent
commit
032cdcb4c7
1 changed files with 9 additions and 0 deletions
  1. 9 0
      native/Avalonia.Native/src/OSX/PopupImpl.mm

+ 9 - 0
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();
+    }
 };