Codebase list libsdl2-mixer / 0dbe040 debian / patches / bug-715461-soundfont_paths.patch
0dbe040

Tree @0dbe040 (Download .tar.gz)

bug-715461-soundfont_paths.patch @0dbe040raw · history · blame

Description: no sf2 sound fonts loaded by default
 Introduced in 1.2.12-6 (Thu, 11 Jul 2013 12:17:15 +0100)
Author: Fabian Greffrath <fabian@greffrath.com>
Last-Update: 2013-10-09
Bug-Debian: http://bugs.debian.org/715461
--- a/mixer.c
+++ b/mixer.c
@@ -148,6 +148,11 @@
 {
 	int result = 0;
 
+#ifdef MIX_INIT_SOUNDFONT_PATHS
+	if (!soundfont_paths)
+		soundfont_paths = SDL_strdup(MIX_INIT_SOUNDFONT_PATHS);
+#endif
+
 	if (flags & MIX_INIT_FLUIDSYNTH) {
 #ifdef USE_FLUIDSYNTH_MIDI
 		if ((initialized & MIX_INIT_FLUIDSYNTH) || Mix_InitFluidSynth() == 0) {
--- a/music.c
+++ b/music.c
@@ -1567,6 +1567,7 @@
 {
 	char *context, *path, *paths;
 	const char* cpaths = Mix_GetSoundFonts();
+	int soundfonts_found = 0;
 
 	if (!cpaths) {
 		Mix_SetError("No SoundFonts have been requested");
@@ -1586,12 +1587,16 @@
 	for (path = strtok_r(paths, ":;", &context); path; path = strtok_r(NULL, ":;", &context)) {
 #endif
 		if (!function(path, data)) {
-			SDL_free(paths);
-			return 0;
+			continue;
+		} else {
+			soundfonts_found++;
 		}
 	}
 
 	SDL_free(paths);
-	return 1;
+	if (soundfonts_found > 0)
+		return 1;
+	else
+		return 0;
 }
 #endif