[PATCH] winemac: Tell Wine when Cocoa brought a clicked window forward even if it sent the click event.

Ken Thomases ken at codeweavers.com
Wed Aug 12 18:02:32 CDT 2015

Not sending the brought-forward event for a click that was sent was an artifact
of a time when that branch was only used for posting a request for focus.  When
I added the brought-forward event, I didn't reconsider that logic.

This fixes a bug in Steam.  If you click the Big Picture Mode button and Steam
puts up a dialog saying it's unavailable, that dialog often came up behind the
Steam window.  The problem is that clicking the button moved the Steam window
in front of the tooltip window for the button in Cocoa's window order, but not
in Wine's.  Then, when the window was shown and ordered relative to a sibling,
it was put above the tooltip window, which in Cocoa's order was behind Steam.
 dlls/winemac.drv/cocoa_app.m | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dlls/winemac.drv/cocoa_app.m b/dlls/winemac.drv/cocoa_app.m
index 82925c8..8e1f318 100644
--- a/dlls/winemac.drv/cocoa_app.m
+++ b/dlls/winemac.drv/cocoa_app.m
@@ -1700,10 +1700,10 @@ - (void) handleMouseButton:(NSEvent*)theEvent
-        if (!process && windowBroughtForward)
+        if (windowBroughtForward)
             [[windowBroughtForward ancestorWineWindow] postBroughtForwardEvent];
-            if (![windowBroughtForward isKeyWindow] && !windowBroughtForward.disabled && !windowBroughtForward.noActivate)
+            if (!process && ![windowBroughtForward isKeyWindow] && !windowBroughtForward.disabled && !windowBroughtForward.noActivate)
                 [self windowGotFocus:windowBroughtForward];

More information about the wine-patches mailing list