From efd871ad2f0b8eb776d973ca09b3c239c7502b01 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
Date: Tue, 27 Oct 2015 23:25:50 +0100
Subject: player/Thread: clear pc.next_song earlier in WaitForDecoder()

---
 src/player/Thread.cxx | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

(limited to 'src/player')

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 */
-- 
cgit v1.2.3