tag/Set: do AlbumArtist/Artist fallback only if AlbumArtist is not disabled
On "list albumartist", songs that have no AlbumArtist tag will use the Artist tag. However, if AlbumArtist is disabled via "metadata_to_use", the TagBuilder::AddItem() call is ignored, and PrintUniqueTag() attempts to print a nullptr string. This commit fixes the problem by attempting the fallback only if AlbumArtist is not disabled.
This commit is contained in:
		
							
								
								
									
										2
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										2
									
								
								NEWS
									
									
									
									
									
								
							| @@ -1,4 +1,6 @@ | ||||
| ver 0.19.3 (not yet released) | ||||
| * protocol | ||||
|   - fix "(null)" result string to "list" when AlbumArtist is disabled | ||||
| * database | ||||
|   - upnp: fix breakage due to malformed URIs | ||||
| * decoder | ||||
|   | ||||
| @@ -19,6 +19,7 @@ | ||||
|  | ||||
| #include "Set.hxx" | ||||
| #include "TagBuilder.hxx" | ||||
| #include "TagSettings.h" | ||||
|  | ||||
| #include <assert.h> | ||||
|  | ||||
| @@ -109,6 +110,7 @@ TagSet::InsertUnique(const Tag &tag, | ||||
|  | ||||
| 	if (!CheckUnique(type, tag, type, group_mask) && | ||||
| 	    (type != TAG_ALBUM_ARTIST || | ||||
| 	     ignore_tag_items[TAG_ALBUM_ARTIST] || | ||||
| 	     /* fall back to "Artist" if no "AlbumArtist" was found */ | ||||
| 	     !CheckUnique(type, tag, TAG_ARTIST, group_mask))) | ||||
| 		InsertUnique(tag, type, nullptr, group_mask); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Max Kellermann
					Max Kellermann