From efd871ad2f0b8eb776d973ca09b3c239c7502b01 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 27 Oct 2015 23:25:50 +0100 Subject: [PATCH] player/Thread: clear pc.next_song earlier in WaitForDecoder() --- src/player/Thread.cxx | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/player/Thread.cxx b/src/player/Thread.cxx index 9358dc1f5..40d73a5f1 100644 --- a/src/player/Thread.cxx +++ b/src/player/Thread.cxx @@ -369,6 +369,8 @@ Player::WaitForDecoder() delete song; song = pc.next_song; + pc.next_song = nullptr; + elapsed_time = SongTime::zero(); /* set the "starting" flag, which will be cleared by @@ -376,13 +378,10 @@ Player::WaitForDecoder() decoder_starting = true; /* update PlayerControl's song information */ - pc.total_time = pc.next_song->GetDuration(); + pc.total_time = song->GetDuration(); pc.bit_rate = 0; pc.audio_format.Clear(); - /* clear the queued song */ - pc.next_song = nullptr; - pc.Unlock(); /* call syncPlaylistWithQueue() in the main thread */