Skip to content
This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

From: Jjgod Jiang <gzjjgod@gmail.com>

Date: Sat, 5 Sep 2009 17:27:07 +0800

Disable NSScreen setFrame: hack in 10.6 since it no longer work
  • Loading branch information
slouken committed Sep 5, 2009
1 parent 081ddde commit 4cce2bf0ff5b8aa73ae7ac85909c6f16b4677e13
Showing with 4 additions and 0 deletions.
  1. +4 −0 src/video/cocoa/SDL_cocoamodes.m
@@ -23,6 +23,7 @@

#include "SDL_cocoavideo.h"

#if MAC_OS_X_VERSION_MAX_ALLOWED < 1060
/*
Add methods to get at private members of NSScreen.
Since there is a bug in Apple's screen switching code
@@ -40,6 +41,7 @@ - (void) setFrame:(NSRect)frame;
_frame = frame;
}
@end
#endif

static void
CG_SetError(const char *prefix, CGDisplayErr result)
@@ -248,6 +250,7 @@ - (void) setFrame:(NSRect)frame;
CGReleaseDisplayFadeReservation(fade_token);
}

#if MAC_OS_X_VERSION_MAX_ALLOWED < 1060
/*
There is a bug in Cocoa where NSScreen doesn't synchronize
with CGDirectDisplay, so the main screen's frame is wrong.
@@ -256,6 +259,7 @@ - (void) setFrame:(NSRect)frame;
ourselves. This hack should be removed if/when the bug is fixed.
*/
[[NSScreen mainScreen] setFrame:NSMakeRect(0,0,mode->w,mode->h)];
#endif

return 0;

0 comments on commit 4cce2bf

Please sign in to comment.