diff --git a/Application/AppController.m b/Application/AppController.m index 05d52cd64..74c722485 100644 --- a/Application/AppController.m +++ b/Application/AppController.m @@ -241,6 +241,9 @@ int lastTrackPlaying = -1; double lastTrackPosition = 0; + if (currentStatus == kCogStatusStopping) + currentStatus = kCogStatusStopped; + [[NSUserDefaults standardUserDefaults] setInteger:currentStatus forKey:@"lastPlaybackStatus"]; if (currentStatus != kCogStatusStopped) diff --git a/Application/PlaybackController.m b/Application/PlaybackController.m index eebdb67f1..e5eaddf48 100644 --- a/Application/PlaybackController.m +++ b/Application/PlaybackController.m @@ -73,7 +73,7 @@ NSString *CogPlaybackDidStopNotficiation = @"CogPlaybackDidStopNotficiation"; - (IBAction)playPauseResume:(id)sender { - if (playbackStatus == kCogStatusStopped) + if (playbackStatus == kCogStatusStopped || playbackStatus == kCogStatusStopping) { [self play:self]; } @@ -160,7 +160,7 @@ NSDictionary * makeRGInfo(PlaylistEntry *pe) - (void)playEntry:(PlaylistEntry *)pe startPaused:(BOOL)paused { - if (playbackStatus != kCogStatusStopped) + if (playbackStatus != kCogStatusStopped && playbackStatus != kCogStatusStopping) [self stop:self]; DLog(@"PLAYLIST CONTROLLER: %@", [playlistController class]); diff --git a/Playlist/PlaylistView.m b/Playlist/PlaylistView.m index ebd2c0dbd..55a8b2a8d 100644 --- a/Playlist/PlaylistView.m +++ b/Playlist/PlaylistView.m @@ -389,7 +389,7 @@ return NO; } - if (action == @selector(scrollToCurrentEntry:) && ([playbackController playbackStatus] == kCogStatusStopped)) + if (action == @selector(scrollToCurrentEntry:) && (([playbackController playbackStatus] == kCogStatusStopped) || ([playbackController playbackStatus] == kCogStatusStopping))) return NO; return [super validateUserInterfaceItem:anItem];