Commit 9a004176 authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

macosx_vout: Correctly change context after -lockgl.

And don't unlockgl if lockgl wasn't successful.
(cherry picked from commit 0484b127c762d7519726db78e2017cb762a20c1a)
parent 4c2fbffb
...@@ -419,7 +419,10 @@ static void OpenglSwap(vout_opengl_t *gl) ...@@ -419,7 +419,10 @@ static void OpenglSwap(vout_opengl_t *gl)
- (BOOL)lockgl - (BOOL)lockgl
{ {
VLCAssertMainThread(); VLCAssertMainThread();
CGLError err = CGLLockContext([[self openGLContext] CGLContextObj]); NSOpenGLContext *context = [self openGLContext];
CGLError err = CGLLockContext([context CGLContextObj]);
if (err == kCGLNoError)
[context makeCurrentContext];
return err == kCGLNoError; return err == kCGLNoError;
} }
...@@ -493,8 +496,7 @@ static void OpenglSwap(vout_opengl_t *gl) ...@@ -493,8 +496,7 @@ static void OpenglSwap(vout_opengl_t *gl)
} }
} }
[self lockgl]; if ([self lockgl]) {
glViewport((width - x) / 2, (height - y) / 2, x, y); glViewport((width - x) / 2, (height - y) / 2, x, y);
@synchronized(self) { @synchronized(self) {
...@@ -508,6 +510,7 @@ static void OpenglSwap(vout_opengl_t *gl) ...@@ -508,6 +510,7 @@ static void OpenglSwap(vout_opengl_t *gl)
[self unlockgl]; [self unlockgl];
[super reshape]; [super reshape];
}
} }
/** /**
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment