From bd556dedd2080208343ff6d66ab7507156d2c2c8 Mon Sep 17 00:00:00 2001
From: nehalmistry <>
Date: Thu, 11 Apr 2002 19:18:04 +0000
Subject: [PATCH] LIBCDA error fixes

---
 src/sound/music.cpp | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/src/sound/music.cpp b/src/sound/music.cpp
index 49bf45c1b..3c667a222 100644
--- a/src/sound/music.cpp
+++ b/src/sound/music.cpp
@@ -236,8 +236,10 @@ local int PlayCDRom(const char* name)
 		CDMode = ":off";
 		return 1;
 	    }
-	    if (cd_get_tracks(&CDTrack, &NumCDTracks))
+	    if (cd_get_tracks(&CDTrack, &NumCDTracks)) {
+		CDMode = ":off";
 		return 1;
+	    }
 	    if (NumCDTracks == 0) {
 		CDMode = ":off";
 		return 1;
@@ -258,7 +260,8 @@ local int PlayCDRom(const char* name)
 		if (CDTrack > NumCDTracks)
 		    CDTrack = 1;
 	    } while (cd_is_audio(++CDTrack) < 1);
-	    cd_play(CDTrack);
+	    if (cd_play(CDTrack))
+		CDMode = ":stopped";
 	    return 1;
 	}
 	// if mode is play random tracks
@@ -267,7 +270,8 @@ local int PlayCDRom(const char* name)
 	    do {
 		CDTrack = MyRand() % NumCDTracks;
 	    } while (cd_is_audio(CDTrack) < 1);
-	    cd_play(CDTrack);
+	    if (cd_play(CDTrack))
+		CDMode = ":stopped";
 	    return 1;
 	}
 	return 1;