It had only been done when a window is shown. Some games change the display mode before showing their first window. Following Mac conventions, the Mac driver does not apply display mode changes when it's not the active GUI app. If such a game were to change the mode and then query display-mode-related info, it would get info for the original mode, not the requested mode.
Signed-off-by: Ken Thomases ken@codeweavers.com --- dlls/winemac.drv/cocoa_app.m | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/dlls/winemac.drv/cocoa_app.m b/dlls/winemac.drv/cocoa_app.m index 46176f7..239c11f 100644 --- a/dlls/winemac.drv/cocoa_app.m +++ b/dlls/winemac.drv/cocoa_app.m @@ -843,7 +843,6 @@ - (BOOL) setMode:(CGDisplayModeRef)mode forDisplay:(CGDirectDisplayID)displayID } else { - BOOL active = [NSApp isActive]; CGDisplayModeRef currentMode; NSArray* modes;
@@ -866,6 +865,10 @@ - (BOOL) setMode:(CGDisplayModeRef)mode forDisplay:(CGDirectDisplayID)displayID if (!modes.count) return FALSE;
+ [self transformProcessToForeground]; + + BOOL active = [NSApp isActive]; + if ([originalDisplayModes count] || displaysCapturedForFullscreen || !active || CGCaptureAllDisplays() == CGDisplayNoErr) {