diff --git a/native/Avalonia.Native/src/OSX/app.mm b/native/Avalonia.Native/src/OSX/app.mm index dfa4062f0a..5dc994fb6b 100644 --- a/native/Avalonia.Native/src/OSX/app.mm +++ b/native/Avalonia.Native/src/OSX/app.mm @@ -30,8 +30,6 @@ ComPtr _events; break; } - [[NSApplication sharedApplication] setActivationPolicy: AvnDesiredActivationPolicy]; - [[NSUserDefaults standardUserDefaults] setBool:NO forKey:@"NSFullScreenMenuItemEverywhere"]; [[NSApplication sharedApplication] setHelpMenu: [[NSMenu new] initWithTitle:@""]]; diff --git a/native/Avalonia.Native/src/OSX/main.mm b/native/Avalonia.Native/src/OSX/main.mm index d1dbe9d186..0e3621517e 100644 --- a/native/Avalonia.Native/src/OSX/main.mm +++ b/native/Avalonia.Native/src/OSX/main.mm @@ -129,14 +129,22 @@ public: } } - virtual HRESULT SetShowInDock(int show) override + virtual HRESULT SetShowInDock(int show) override { START_COM_CALL; @autoreleasepool { - AvnDesiredActivationPolicy = show - ? NSApplicationActivationPolicyRegular : NSApplicationActivationPolicyAccessory; + NSApplication* app = [NSApplication sharedApplication]; + NSApplicationActivationPolicy requestedPolicy = show + ? NSApplicationActivationPolicyRegular + : NSApplicationActivationPolicyAccessory; + + if ([app activationPolicy] != requestedPolicy) + { + [app setActivationPolicy:requestedPolicy]; + } + return S_OK; } }