From ca85424ec526316b6804432376da0e6e430d7482 Mon Sep 17 00:00:00 2001 From: Steve Checkoway Date: Sat, 14 Jan 2006 22:56:23 +0000 Subject: [PATCH] Fix memory leak, set OGL parameters. --- .../src/arch/LowLevelWindow/LowLevelWindow_Cocoa.mm | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/stepmania/src/arch/LowLevelWindow/LowLevelWindow_Cocoa.mm b/stepmania/src/arch/LowLevelWindow/LowLevelWindow_Cocoa.mm index 17dd741a0c..48d96ce2f4 100644 --- a/stepmania/src/arch/LowLevelWindow/LowLevelWindow_Cocoa.mm +++ b/stepmania/src/arch/LowLevelWindow/LowLevelWindow_Cocoa.mm @@ -108,6 +108,14 @@ void *LowLevelWindow_Cocoa::GetProcAddress( CString s ) return symbol ? NSAddressOfSymbol( symbol ) : NULL; } +static void SetOGLParameters( NSOpenGLContext *context ) +{ + long val = 64; + + [context setValues:&val forParameter:NSOpenGLContextParameter(280)]; + [context setValues:&val forParameter:NSOpenGLContextParameter(284)]; +} + CString LowLevelWindow_Cocoa::TryVideoMode( const VideoModeParams& p, bool& newDeviceOut ) { #define X(x) p.x == mCurrentParams.x @@ -150,9 +158,11 @@ CString LowLevelWindow_Cocoa::TryVideoMode( const VideoModeParams& p, bool& newD [pixelFormat release]; if( nextView == nil ) return "Failed to create windowed OGL context."; + SetOGLParameters( [mView openGLContext] ); newDeviceOut = true; mView = nextView; [mWindow setContentView:mView]; + [mView release]; // We need to recreate the full screen context as well. [mFullScreenContext clearDrawable]; @@ -219,6 +229,7 @@ CString LowLevelWindow_Cocoa::TryVideoMode( const VideoModeParams& p, bool& newD return "Failed to create full screen openGL context."; } } + SetOGLParameters( mFullScreenContext ); } [mFullScreenContext setFullScreen]; [mFullScreenContext update];