From 62a045b39dad87d8401ac2a8f108e50a332901cb Mon Sep 17 00:00:00 2001 From: Syngnat Date: Tue, 21 Jul 2026 19:45:33 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix(native-window):=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=20Intel=20macOS=20=E6=9E=84=E5=BB=BA=E7=B1=BB?= =?UTF-8?q?=E5=9E=8B=E8=BD=AC=E6=8D=A2=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将 Cocoa BOOL 桥接结果统一转换为整数值。 兼容 darwin/amd64 与 darwin/arm64 的 cgo 类型映射。 --- internal/nativewindow/activation_policy_darwin.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/internal/nativewindow/activation_policy_darwin.go b/internal/nativewindow/activation_policy_darwin.go index e26ddef1..e6ccca24 100644 --- a/internal/nativewindow/activation_policy_darwin.go +++ b/internal/nativewindow/activation_policy_darwin.go @@ -63,9 +63,11 @@ static void prepareDetachedAccessoryActivationPolicy(void) { } } -static BOOL isDetachedAccessoryActivationPolicyGuardInstalled(void) { +// Cocoa BOOL maps to different cgo types on Intel and Apple Silicon. Normalise +// the bridge result to int so the Go side remains portable across both targets. +static int isDetachedAccessoryActivationPolicyGuardInstalled(void) { @synchronized ([NSApplication class]) { - return detachedAccessoryActivationPolicyGuardActive; + return detachedAccessoryActivationPolicyGuardActive ? 1 : 0; } } @@ -91,7 +93,7 @@ func prepareDetachedAccessoryActivationPolicy() { } func detachedAccessoryActivationPolicyGuardInstalled() bool { - return bool(C.isDetachedAccessoryActivationPolicyGuardInstalled()) + return C.isDetachedAccessoryActivationPolicyGuardInstalled() != 0 } func setDetachedAccessoryActivationPolicy() {