Sat, 02 May 2015 19:24:59 -0700Fixed bug 2969 - Manual coding mistake in recompute_amp function
Sam Lantinga <slouken@libsdl.org> [Sat, 02 May 2015 19:24:59 -0700] rev 699
Fixed bug 2969 - Manual coding mistake in recompute_amp function

Nitz

In recompute_amp(int v) function:

under if condition:
if (note>0 && drumpanpot[chan][note]>=0) panning = drumvolume[chan][note];

This should be panning = drumpanpot[chan][note] instead of drumvolume.

Sun, 26 Apr 2015 22:17:20 -0700Moved code signature step to after the framework build step is complete, and don't hardcode the codesign identity
Sam Lantinga <slouken@libsdl.org> [Sun, 26 Apr 2015 22:17:20 -0700] rev 698
Moved code signature step to after the framework build step is complete, and don't hardcode the codesign identity

Sat, 29 Nov 2014 14:42:02 -0800Fixed bug 2795 - SDL library detection selects the wrong lib
Sam Lantinga <slouken@libsdl.org> [Sat, 29 Nov 2014 14:42:02 -0800] rev 697
Fixed bug 2795 - SDL library detection selects the wrong lib

Chris Beck

When creating a homebrew recipe for wesnoth, I discovered that the SDL image configuration routine does not detect libpng properly -- if you have multiple instances of libpng on your system, and you use environment variables to select an instance which is not in your system directory, the build can be broken, because it will run configuration tests against the system installed version, but deduce that it should use the filename of the system-installed version. In a vanilla build of wesnoth using homebrew, this results in segfaults at runtime, because you end up linking against two different versions of libpng, which is also needed independently of SDL.

The problem is essentially in the "find_lib" routine in the configure file:



find_lib()
{
gcc_bin_path=[`$CC -print-search-dirs 2>/dev/null | fgrep programs: | sed 's/[^=]*=\(.*\)/\1/' | sed 's/:/ /g'`]
gcc_lib_path=[`$CC -print-search-dirs 2>/dev/null | fgrep libraries: | sed 's/[^=]*=\(.*\)/\1/' | sed 's/:/ /g'`]
env_lib_path=[`echo $LIBS $LDFLAGS | sed 's/-L[ ]*//g'`]
for path in $gcc_bin_path $gcc_lib_path $env_lib_path /usr/lib /usr/local/lib; do
lib=[`ls -- $path/$1 2>/dev/null | sort -r | sed 's/.*\/\(.*\)/\1/; q'`]
if test x$lib != x; then
echo $lib
return
fi
done
}



Because the for loop goes over the system directories before the environment directories, any system-installed lib will shadow the lib selected via environment variables. This is contrary to the behavior of the configuration tests earlier in the script, which prefers the environment variable libs over the system-installed libs. The 'for' loop should instead be:



for path in $env_lib_path $gcc_bin_path $gcc_lib_path /usr/lib /usr/local/lib; do



You can see the full discussion on the Homebrew / linuxbrew issue tracker here: https://github.com/Homebrew/linuxbrew/issues/172

I have checked that this bug also affects SDL 1.2.15, SDL_mixer and SDL_ttf 1.2, which all use this same "find_lib" routine. I have not determined if the bug affects SDL 2.0, which seems not to use this exact routine.

Sat, 23 Aug 2014 10:57:26 -0700Fixed bug 2690 - Floating point exception in Mix_Volume()
Sam Lantinga <slouken@libsdl.org> [Sat, 23 Aug 2014 10:57:26 -0700] rev 696
Fixed bug 2690 - Floating point exception in Mix_Volume()

Francisco de la Peña

This happens rarely under uncertain circunstances, as it doesn't crash always and does it randomly. Fortunately, I've got a backtrace when running a GDB session. Might be a divide by zero issue in SDL or SDL_mixer.

Program received signal SIGFPE, Arithmetic exception.
0x00000038e8c08a7d in mix_channels (udata=<optimized out>, stream=0x24e11b0 "", len=2048) at mixer.c:345
345 Mix_Volume(i, (mix_channel[i].fade_volume * ticks) / mix_channel[i].fade_length );
(gdb) bt f
#0 0x00000038e8c08a7d in mix_channels (udata=<optimized out>, stream=0x24e11b0 "", len=2048) at mixer.c:345
ticks = 0
mix_input = <optimized out>
i = 0
mixable = <optimized out>
volume = <optimized out>
sdl_ticks = 129373

Using SDL 2.0.3 and SDL_Mixer 2.0.0, PulseAudio, Fedora 20 x86_64 but looks like can be reproduced on other platforms.

Sat, 16 Aug 2014 22:46:16 -0700Fixed bug 2136 and 2624, include directives are wrong for tremor and modplug on Debian
Sam Lantinga <slouken@libsdl.org> [Sat, 16 Aug 2014 22:46:16 -0700] rev 695
Fixed bug 2136 and 2624, include directives are wrong for tremor and modplug on Debian

Mon, 04 Aug 2014 11:17:32 -0400Removed a FIXME (this code actually does what the FIXME requested now).
Ryan C. Gordon <icculus@icculus.org> [Mon, 04 Aug 2014 11:17:32 -0400] rev 694
Removed a FIXME (this code actually does what the FIXME requested now).

Tue, 08 Jul 2014 00:42:06 -0700Skip JUNK chunks in wave files
Sam Lantinga <slouken@libsdl.org> [Tue, 08 Jul 2014 00:42:06 -0700] rev 693
Skip JUNK chunks in wave files

Tue, 08 Jul 2014 00:26:08 -0700Fixed code signing release frameworks
Sam Lantinga <slouken@libsdl.org> [Tue, 08 Jul 2014 00:26:08 -0700] rev 692
Fixed code signing release frameworks

Mon, 07 Jul 2014 11:15:27 -0700Updated config.guess and config.sub with NaCl configuration
Sam Lantinga <slouken@libsdl.org> [Mon, 07 Jul 2014 11:15:27 -0700] rev 691
Updated config.guess and config.sub with NaCl configuration

Mon, 07 Jul 2014 11:01:41 -0700Fixed compiler warnings
Sam Lantinga <slouken@libsdl.org> [Mon, 07 Jul 2014 11:01:41 -0700] rev 690
Fixed compiler warnings