Fix memory leak, set OGL parameters.

This commit is contained in:
Steve Checkoway
2006-01-14 22:56:23 +00:00
parent b7e7d31e1b
commit ca85424ec5
@@ -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];