diff --git a/Playlist/PlaylistController.m b/Playlist/PlaylistController.m index 08c0de4d5..91901a94b 100644 --- a/Playlist/PlaylistController.m +++ b/Playlist/PlaylistController.m @@ -219,6 +219,9 @@ static inline void dispatch_sync_reentrant(dispatch_queue_t queue, dispatch_bloc } - (void)beginProgress:(NSString *)localizedDescription { + while(playbackController.progressOverall) { + [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01]]; + } dispatch_sync_reentrant(dispatch_get_main_queue(), ^{ self->playbackController.progressOverall = [NSProgress progressWithTotalUnitCount:100000]; self->playbackController.progressOverall.localizedDescription = localizedDescription; diff --git a/Playlist/PlaylistLoader.m b/Playlist/PlaylistLoader.m index e42a262da..76cb6278d 100644 --- a/Playlist/PlaylistLoader.m +++ b/Playlist/PlaylistLoader.m @@ -262,6 +262,9 @@ static inline void dispatch_sync_reentrant(dispatch_queue_t queue, dispatch_bloc } - (void)beginProgress:(NSString *)localizedDescription { + while(playbackController.progressOverall) { + [[NSRunLoop currentRunLoop] runUntilDate:[NSDate dateWithTimeIntervalSinceNow:0.01]]; + } dispatch_sync_reentrant(dispatch_get_main_queue(), ^{ self->playbackController.progressOverall = [NSProgress progressWithTotalUnitCount:100000]; self->playbackController.progressOverall.localizedDescription = localizedDescription;