summaryrefslogtreecommitdiffstats
path: root/video/out
diff options
context:
space:
mode:
Diffstat (limited to 'video/out')
-rw-r--r--video/out/cocoa_common.m10
1 files changed, 9 insertions, 1 deletions
diff --git a/video/out/cocoa_common.m b/video/out/cocoa_common.m
index fb813fd773..14425ef13a 100644
--- a/video/out/cocoa_common.m
+++ b/video/out/cocoa_common.m
@@ -208,10 +208,18 @@ void vo_cocoa_uninit(struct vo *vo)
enable_power_management(vo);
cocoa_rm_fs_screen_profile_observer(vo);
+ // make sure we exit fullscreen before releasing stuff to make sure our
+ // events view retain count actually reaches 0
+ if (!s->embedded)
+ [(MpvEventsView *)s->view setFullScreen:NO];
+
[s->gl_ctx release];
[s->view removeFromSuperview];
[s->view release];
- if (s->window) [s->window release];
+
+ // if using --wid + libmpv there's no window to release
+ if (s->window)
+ [s->window release];
});
}