[vlc-commits] macosx: always delete stored input thread on change (close #14850)
David Fuhrmann
git at videolan.org
Sat Jun 27 19:38:51 CEST 2015
vlc | branch: master | David Fuhrmann <dfuhrmann at videolan.org> | Sat Jun 27 14:51:02 2015 +0200| [ff4982c01902e66818c4e008660c86cd58722f30] | committer: David Fuhrmann
macosx: always delete stored input thread on change (close #14850)
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=ff4982c01902e66818c4e008660c86cd58722f30
---
modules/gui/macosx/intf.m | 39 +++++++++++++++++++--------------------
1 file changed, 19 insertions(+), 20 deletions(-)
diff --git a/modules/gui/macosx/intf.m b/modules/gui/macosx/intf.m
index 3d901d8..3225a86 100644
--- a/modules/gui/macosx/intf.m
+++ b/modules/gui/macosx/intf.m
@@ -1320,9 +1320,7 @@ static VLCMain *_o_sharedMainInstance = nil;
// This must be called on main thread
- (void)PlaylistItemChanged
{
- input_thread_t *p_input_changed = NULL;
-
- if (p_current_input && p_current_input->b_dead) {
+ if (p_current_input) {
var_DelCallback(p_current_input, "intf-event", InputEvent, [VLCMain sharedInstance]);
vlc_object_release(p_current_input);
p_current_input = NULL;
@@ -1332,27 +1330,28 @@ static VLCMain *_o_sharedMainInstance = nil;
[[NSNotificationCenter defaultCenter] postNotificationName:VLCInputChangedNotification
object:nil];
}
- else if (!p_current_input) {
- // object is hold here and released then it is dead
- p_current_input = playlist_CurrentInput(pl_Get(VLCIntf));
- if (p_current_input) {
- var_AddCallback(p_current_input, "intf-event", InputEvent, [VLCMain sharedInstance]);
- [self playbackStatusUpdated];
- [o_mainmenu setRateControlsEnabled: YES];
-
- if ([self activeVideoPlayback] && [[o_mainwindow videoView] isHidden]) {
- [o_mainwindow changePlaylistState: psPlaylistItemChangedEvent];
- }
- p_input_changed = vlc_object_hold(p_current_input);
-
- [[self playlist] currentlyPlayingItemChanged];
+ input_thread_t *p_input_changed = NULL;
- [[self playlist] continuePlaybackWhereYouLeftOff:p_current_input];
+ // object is hold here and released then it is dead
+ p_current_input = playlist_CurrentInput(pl_Get(VLCIntf));
+ if (p_current_input) {
+ var_AddCallback(p_current_input, "intf-event", InputEvent, [VLCMain sharedInstance]);
+ [self playbackStatusUpdated];
+ [o_mainmenu setRateControlsEnabled: YES];
- [[NSNotificationCenter defaultCenter] postNotificationName:VLCInputChangedNotification
- object:nil];
+ if ([self activeVideoPlayback] && [[o_mainwindow videoView] isHidden]) {
+ [o_mainwindow changePlaylistState: psPlaylistItemChangedEvent];
}
+
+ p_input_changed = vlc_object_hold(p_current_input);
+
+ [[self playlist] currentlyPlayingItemChanged];
+
+ [[self playlist] continuePlaybackWhereYouLeftOff:p_current_input];
+
+ [[NSNotificationCenter defaultCenter] postNotificationName:VLCInputChangedNotification
+ object:nil];
}
[self updateMetaAndInfo];
More information about the vlc-commits
mailing list