[vlc-commits] macOS: Fix ownership in ExtensionsDialogProvider

Marvin Scholz git at videolan.org
Mon Apr 3 09:35:36 CEST 2017


vlc | branch: master | Marvin Scholz <epirat07 at gmail.com> | Mon Apr  3 09:32:26 2017 +0200| [710da35f7949c970c692ef4af069cee64ca9fe90] | committer: Marvin Scholz

macOS: Fix ownership in ExtensionsDialogProvider

Fix #17912

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=710da35f7949c970c692ef4af069cee64ca9fe90
---

 modules/gui/macosx/VLCExtensionsDialogProvider.m | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/modules/gui/macosx/VLCExtensionsDialogProvider.m b/modules/gui/macosx/VLCExtensionsDialogProvider.m
index 9dd1354..953bd33 100644
--- a/modules/gui/macosx/VLCExtensionsDialogProvider.m
+++ b/modules/gui/macosx/VLCExtensionsDialogProvider.m
@@ -381,7 +381,7 @@ static void extensionDialogCallback(extension_dialog_t *p_ext_dialog,
         if (!control && !shouldDestroy) {
             control = createControlFromWidget(widget, self);
             updateControlFromWidget(control, widget, self);
-            widget->p_sys_intf = (__bridge void *)control;
+            widget->p_sys_intf = (__bridge_retained void *)control;
             update = YES; // Force update and repositionning
             [control setHidden:widget->b_hide];
         }
@@ -408,6 +408,7 @@ static void extensionDialogCallback(extension_dialog_t *p_ext_dialog,
         if (shouldDestroy) {
             VLCDialogGridView *gridView = (VLCDialogGridView *)[dialogWindow contentView];
             [gridView removeSubview:control];
+            CFRelease(widget->p_sys_intf);
             widget->p_sys_intf = NULL;
         }
     }



More information about the vlc-commits mailing list