vlc | branch: master | David Fuhrmann <dfuhrm...@videolan.org> | Mon Apr 28 10:40:49 2014 +0200| [c87e0df3c527d0dd4b5cb36ff9bef1325087e4e9] | committer: David Fuhrmann
macosx: properly inform the extension manager about finished inputs > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=c87e0df3c527d0dd4b5cb36ff9bef1325087e4e9 --- modules/gui/macosx/intf.m | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/modules/gui/macosx/intf.m b/modules/gui/macosx/intf.m index 89e6ebb..005390a 100644 --- a/modules/gui/macosx/intf.m +++ b/modules/gui/macosx/intf.m @@ -1258,11 +1258,11 @@ static VLCMain *_o_sharedMainInstance = nil; // This must be called on main thread - (void)PlaylistItemChanged { - input_thread_t *p_input_changed = nil; + input_thread_t *p_input_changed = NULL; if (p_current_input && (p_current_input->b_dead || !vlc_object_alive(p_current_input))) { var_DelCallback(p_current_input, "intf-event", InputEvent, [VLCMain sharedInstance]); - p_input_changed = p_current_input; + vlc_object_release(p_current_input); p_current_input = NULL; [o_mainmenu setRateControlsEnabled: NO]; @@ -1293,12 +1293,11 @@ static VLCMain *_o_sharedMainInstance = nil; * and other issues, we need to inform the extension manager on a separate thread. * The serial queue ensures that changed inputs are propagated in the same order as they arrive. */ - if (p_input_changed) { - dispatch_async(informInputChangedQueue, ^{ - [[ExtensionsManager getInstance:p_intf] inputChanged:p_input_changed]; + dispatch_async(informInputChangedQueue, ^{ + [[ExtensionsManager getInstance:p_intf] inputChanged:p_input_changed]; + if (p_input_changed) vlc_object_release(p_input_changed); - }); - } + }); } - (void)updateMainMenu _______________________________________________ vlc-commits mailing list vlc-commits@videolan.org https://mailman.videolan.org/listinfo/vlc-commits