From a68ef497f518c8d7e53ff30733cc749fea505321 Mon Sep 17 00:00:00 2001
From: Max Kellermann <max@duempel.org>
Date: Tue, 26 Aug 2008 08:27:09 +0200
Subject: don't call quitDecode() in waitOnDecode()

To make the code more consistent, call quitDecode() only at the end of
decodeParent().
---
 src/player_thread.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/player_thread.c b/src/player_thread.c
index 0937fb3ca..fa3bbccf7 100644
--- a/src/player_thread.c
+++ b/src/player_thread.c
@@ -71,7 +71,6 @@ static int waitOnDecode(int *decodeWaitedOn)
 	if (dc.error != DECODE_ERROR_NOERROR) {
 		pc.errored_song = dc.next_song;
 		pc.error = PLAYER_ERROR_FILE;
-		quitDecode();
 		return -1;
 	}
 
@@ -211,8 +210,10 @@ static void decodeParent(void)
 
 	ob_set_lazy(0);
 
-	if (waitOnDecode(&decodeWaitedOn) < 0)
+	if (waitOnDecode(&decodeWaitedOn) < 0) {
+		quitDecode();
 		return;
+	}
 
 	pc.elapsedTime = 0;
 	pc.state = PLAYER_STATE_PLAY;
-- 
cgit v1.2.3