summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--video/out/cocoa_common.m10
1 files changed, 6 insertions, 4 deletions
diff --git a/video/out/cocoa_common.m b/video/out/cocoa_common.m
index dde727f5de..19968de8ff 100644
--- a/video/out/cocoa_common.m
+++ b/video/out/cocoa_common.m
@@ -192,9 +192,9 @@ void vo_cocoa_uninit(struct vo *vo)
enable_power_management(vo);
cocoa_rm_fs_screen_profile_observer(vo);
- [s->video release];
- [s->view release];
- [s->window release];
+ [s->gl_ctx release];
+ [s->view removeFromSuperview];
+ if (s->window) [s->window release];
});
}
@@ -310,7 +310,7 @@ static void create_ui(struct vo *vo, struct mp_rect *win, int geo_flags)
struct vo_cocoa_state *s = vo->cocoa;
struct mp_vo_opts *opts = vo->opts;
- MpvCocoaAdapter *adapter = [[[MpvCocoaAdapter alloc] init] autorelease];
+ MpvCocoaAdapter *adapter = [[MpvCocoaAdapter alloc] init];
adapter.vout = vo;
NSView *parent;
@@ -327,6 +327,7 @@ static void create_ui(struct vo *vo, struct mp_rect *win, int geo_flags)
view.adapter = adapter;
s->view = view;
[parent addSubview:s->view];
+ [s->view release];
// insert ourselves as the next key view so that clients can give key
// focus to the mpv view by calling -[NSWindow selectNextKeyView:]
@@ -345,6 +346,7 @@ static void create_ui(struct vo *vo, struct mp_rect *win, int geo_flags)
[s->view addSubview:s->video];
[s->gl_ctx setView:s->video];
+ [s->video release];
s->video.adapter = adapter;