Package: sdl-mixer1.2 / 1.2.12-15

bug-715461-soundfont_paths.patch Patch series | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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