diff --git a/src/ProGPU.Backend/CocoaNativePopupWindow.OwnedSurface.cs b/src/ProGPU.Backend/CocoaNativePopupWindow.OwnedSurface.cs index a27a4c282..94442aaa3 100644 --- a/src/ProGPU.Backend/CocoaNativePopupWindow.OwnedSurface.cs +++ b/src/ProGPU.Backend/CocoaNativePopupWindow.OwnedSurface.cs @@ -153,7 +153,9 @@ private sealed class OwnedOperations(OwnerLease? initialOwner, nint panel, nint GetOwnedBool(panel, "becomesKeyOnlyIfNeeded\0"u8) && !GetOwnedBool(panel, "isReleasedWhenClosed\0"u8) && !GetOwnedBool(panel, "canBecomeKeyWindow\0"u8) && !GetOwnedBool(panel, "canBecomeMainWindow\0"u8) && - OwnedMessageUnsigned(panel, Selector("styleMask\0"u8)) == NonactivatingPanelStyle; + // AppKit reports the nonactivating bit as cleared once the panel is ordered in as a child window + // (macOS 27.0.1 and the macos-15 runner), so only reject style bits the panel was never given. + (OwnedMessageUnsigned(panel, Selector("styleMask\0"u8)) & ~NonactivatingPanelStyle) == 0; public bool BindOwner(NativeWindowHandle owner) {