Mercurial > sdl-ios-xcode
changeset 5253:ff2564c24045
Fixed cocoa trying to shuffling windows when going fullscreen on the main display.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Thu, 10 Feb 2011 22:49:14 -0800 |
parents | d844537c42fd |
children | 7a963be087ef |
files | src/video/cocoa/SDL_cocoamodes.m |
diffstat | 1 files changed, 11 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/src/video/cocoa/SDL_cocoamodes.m Thu Feb 10 22:37:01 2011 -0800 +++ b/src/video/cocoa/SDL_cocoamodes.m Thu Feb 10 22:49:14 2011 -0800 @@ -258,14 +258,23 @@ /* Restoring desktop mode */ CGDisplaySwitchToMode(displaydata->display, data->moderef); - CGDisplayRelease(displaydata->display); + if (CGDisplayIsMain(displaydata->display)) { + CGReleaseAllDisplays(); + } else { + CGDisplayRelease(displaydata->display); + } if (CGDisplayIsMain(displaydata->display)) { ShowMenuBar(); } } else { /* Put up the blanking window (a window above all other windows) */ - result = CGDisplayCapture(displaydata->display); + if (CGDisplayIsMain(displaydata->display)) { + /* If we don't capture all displays, Cocoa tries to rearrange windows... *sigh* */ + result = CGCaptureAllDisplays(); + } else { + result = CGDisplayCapture(displaydata->display); + } if (result != kCGErrorSuccess) { CG_SetError("CGDisplayCapture()", result); goto ERR_NO_CAPTURE;