winemac: Only call -[NSApplication unhide:] if the app is actually hidden.

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 <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Ken Thomases 2016-07-20 18:50:25 -05:00 committed by Alexandre Julliard
parent a70c24d454
commit 951a6c0338

View File

@ -1427,7 +1427,8 @@ static CVReturn WineDisplayLinkCallback(CVDisplayLinkRef displayLink, const CVTi
BOOL wasVisible;
[controller transformProcessToForeground];
[NSApp unhide:nil];
if ([NSApp isHidden])
[NSApp unhide:nil];
wasVisible = [self isVisible];
if (activate)