From 6ead6aa005f1c78a117bde58e48f106cfd1e9806 Mon Sep 17 00:00:00 2001 From: Stefano Pigozzi Date: Tue, 26 Nov 2013 19:01:52 +0100 Subject: cocoa: unlock on uninit NSLock should be unlocked before dealloc is called on it. --- video/out/cocoa_common.m | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/video/out/cocoa_common.m b/video/out/cocoa_common.m index 3d1f8868f1..fb6187a989 100644 --- a/video/out/cocoa_common.m +++ b/video/out/cocoa_common.m @@ -136,6 +136,7 @@ static void vo_cocoa_set_cursor_visibility(struct vo *vo, bool *visible) void vo_cocoa_uninit(struct vo *vo) { + vo_cocoa_set_current_context(vo, false); dispatch_sync(dispatch_get_main_queue(), ^{ struct vo_cocoa_state *s = vo->cocoa; enable_power_management(vo); @@ -444,9 +445,10 @@ void vo_cocoa_set_current_context(struct vo *vo, bool current) [s->gl_ctx makeCurrentContext]; } else { + const bool locked = !![NSOpenGLContext currentContext]; [NSOpenGLContext clearCurrentContext]; - if (!s->inside_sync_section) + if (!s->inside_sync_section && locked) [s->lock unlock]; } } -- cgit v1.2.3