Ken Thomases : winemac: Simplify display mode code.
Alexandre Julliard
julliard at winehq.org
Fri Jan 10 13:22:45 CST 2014
Module: wine
Branch: master
Commit: ce5a87b1efeab009b32f4ccdfcdec46118723f29
URL: http://source.winehq.org/git/wine.git/?a=commit;h=ce5a87b1efeab009b32f4ccdfcdec46118723f29
Author: Ken Thomases <ken at codeweavers.com>
Date: Fri Jan 10 03:11:33 2014 -0600
winemac: Simplify display mode code.
When originalDisplayModes has entries, the app is active. When the app is
active, latentDisplayModes is empty.
---
dlls/winemac.drv/cocoa_app.m | 31 +++++++++----------------------
1 file changed, 9 insertions(+), 22 deletions(-)
diff --git a/dlls/winemac.drv/cocoa_app.m b/dlls/winemac.drv/cocoa_app.m
index 13d9c87..d499fd1 100644
--- a/dlls/winemac.drv/cocoa_app.m
+++ b/dlls/winemac.drv/cocoa_app.m
@@ -709,7 +709,6 @@ int macdrv_err_on;
- (BOOL) setMode:(CGDisplayModeRef)mode forDisplay:(CGDirectDisplayID)displayID
{
BOOL ret = FALSE;
- BOOL active = [NSApp isActive];
NSNumber* displayIDKey = [NSNumber numberWithUnsignedInt:displayID];
CGDisplayModeRef originalMode;
@@ -719,39 +718,28 @@ int macdrv_err_on;
{
if ([originalDisplayModes count] == 1) // If this is the last changed display, do a blanket reset
{
- if (active)
- {
- CGRestorePermanentDisplayConfiguration();
- if (!displaysCapturedForFullscreen)
- CGReleaseAllDisplays();
- }
+ CGRestorePermanentDisplayConfiguration();
+ if (!displaysCapturedForFullscreen)
+ CGReleaseAllDisplays();
[originalDisplayModes removeAllObjects];
- [latentDisplayModes removeAllObjects];
ret = TRUE;
}
else // ... otherwise, try to restore just the one display
{
- if (active)
+ mode = [self modeMatchingMode:mode forDisplay:displayID];
+ if (mode && CGDisplaySetDisplayMode(displayID, mode, NULL) == CGDisplayNoErr)
{
- mode = [self modeMatchingMode:mode forDisplay:displayID];
- if (mode)
- ret = (CGDisplaySetDisplayMode(displayID, mode, NULL) == CGDisplayNoErr);
- }
- else
- {
- [latentDisplayModes removeObjectForKey:displayIDKey];
+ [originalDisplayModes removeObjectForKey:displayIDKey];
ret = TRUE;
}
- if (ret)
- [originalDisplayModes removeObjectForKey:displayIDKey];
}
}
else
{
- CGDisplayModeRef currentMode = NULL;
+ BOOL active = [NSApp isActive];
+ CGDisplayModeRef currentMode;
- if (!active)
- currentMode = CGDisplayModeRetain((CGDisplayModeRef)[latentDisplayModes objectForKey:displayIDKey]);
+ currentMode = CGDisplayModeRetain((CGDisplayModeRef)[latentDisplayModes objectForKey:displayIDKey]);
if (!currentMode)
currentMode = CGDisplayCopyDisplayMode(displayID);
if (!currentMode) // Invalid display ID
@@ -790,7 +778,6 @@ int macdrv_err_on;
else if (![originalDisplayModes count])
{
CGRestorePermanentDisplayConfiguration();
- [latentDisplayModes removeAllObjects];
if (!displaysCapturedForFullscreen)
CGReleaseAllDisplays();
}
More information about the wine-cvs
mailing list