From 7a66a8375db19a9686b1cf6c310ccec61aa489e8 Mon Sep 17 00:00:00 2001 From: John Scipione Date: Tue, 4 Jun 2013 18:29:48 -0400 Subject: [PATCH] Check if disk has compilation artist ... before looking for track specific artist information. Fixes #9813 Signed-off-by: John Scipione --- src/servers/cddb_daemon/cddb_server.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/servers/cddb_daemon/cddb_server.cpp b/src/servers/cddb_daemon/cddb_server.cpp index d0d8ebb1d2..46f369e899 100644 --- a/src/servers/cddb_daemon/cddb_server.cpp +++ b/src/servers/cddb_daemon/cddb_server.cpp @@ -257,11 +257,14 @@ CDDBServer::Read(QueryResponseData* diskData, ReadResponseData* readResponse) trackData->trackNumber = track; int32 pos = line.FindFirst(" / " ); - if (pos != B_ERROR) { - // We have track specific artist information. + if (pos != B_ERROR && diskData->artist.ICompare("Various") == 0) { + // Disk is set to have a compilation artist and + // we have track specific artist information. BString artist; line.MoveInto(artist, 0, pos); + // Move artist information from line to artist. line.Remove(0, 3); + // Remove " / " from line. trackData->artist = artist; } else { trackData->artist = diskData->artist;