summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStefano Pigozzi <stefano.pigozzi@gmail.com>2013-08-23 12:20:25 +0200
committerwm4 <wm4@nowhere>2013-08-23 15:43:46 +0200
commit815ad3f011b3e2755bd982930e90e0043f2d5f6b (patch)
treee40d7b72aa13fa291842f6a8228a872422ec0012
parent69d46b1d95761ccb64acbd6422fef61bf349fbdf (diff)
downloadmpv-815ad3f011b3e2755bd982930e90e0043f2d5f6b.tar.bz2
mpv-815ad3f011b3e2755bd982930e90e0043f2d5f6b.tar.xz
cocoa_common: avoid locking calls when not needed
cocoa_common contains some locking calls to support video outputs that support live resizing (at this moment only vo=opengl). These should not be used unless the VO declares it is multithreaded by registering the resize_redraw callback used for live resizing. Fixes #200
-rw-r--r--video/out/cocoa_common.m4
1 files changed, 2 insertions, 2 deletions
diff --git a/video/out/cocoa_common.m b/video/out/cocoa_common.m
index 6a998c8631..0a1ae175b1 100644
--- a/video/out/cocoa_common.m
+++ b/video/out/cocoa_common.m
@@ -523,7 +523,7 @@ int vo_cocoa_check_events(struct vo *vo)
void vo_cocoa_fullscreen(struct vo *vo)
{
- if (![NSThread isMainThread]) {
+ if (![NSThread isMainThread] && resize_callback_registered(vo)) {
// This is the secondary thread, unlock since we are going to invoke a
// method synchronously on the GUI thread using Cocoa.
vo_cocoa_set_current_context(vo, false);
@@ -535,7 +535,7 @@ void vo_cocoa_fullscreen(struct vo *vo)
waitUntilDone:YES];
- if (![NSThread isMainThread]) {
+ if (![NSThread isMainThread] && resize_callback_registered(vo)) {
// Now lock again!
vo_cocoa_set_current_context(vo, true);
}