From: Ken Thomases Subject: [PATCH] winemac: Only call -[NSApplication unhide:] if the app is actually hidden. Message-Id: <1469058625-85467-1-git-send-email-ken@codeweavers.com> Date: Wed, 20 Jul 2016 18:50:25 -0500 This avoids a Cocoa bug where, if an app in the background which is not hidden calls -unhide:, its main menu bar window is brought forward. The active app hasn't actually been changed. Key events continue to go to the app in the foreground. But it's confusing to the user when they look at the menu bar and, if they click in the menu bar, the background app really will be activated. Signed-off-by: Ken Thomases --- dlls/winemac.drv/cocoa_window.m | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/dlls/winemac.drv/cocoa_window.m b/dlls/winemac.drv/cocoa_window.m index 4f59121..808a7e7 100644 --- a/dlls/winemac.drv/cocoa_window.m +++ b/dlls/winemac.drv/cocoa_window.m @@ -1427,7 +1427,8 @@ - (void) orderBelow:(WineWindow*)prev orAbove:(WineWindow*)next activate:(BOOL)a BOOL wasVisible; [controller transformProcessToForeground]; - [NSApp unhide:nil]; + if ([NSApp isHidden]) + [NSApp unhide:nil]; wasVisible = [self isVisible]; if (activate) -- 2.8.2