diff options
Diffstat (limited to 'media-libs/sdl-mixer/files/sdl-mixer-1.2.12-mikmod-r588.patch')
-rw-r--r-- | media-libs/sdl-mixer/files/sdl-mixer-1.2.12-mikmod-r588.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-mikmod-r588.patch b/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-mikmod-r588.patch new file mode 100644 index 000000000000..d47a8d4534c8 --- /dev/null +++ b/media-libs/sdl-mixer/files/sdl-mixer-1.2.12-mikmod-r588.patch @@ -0,0 +1,36 @@ +http://hg.libsdl.org/SDL_mixer/rev/2ebb0d016f27 +https://bugs.gentoo.org/445980 + +# HG changeset patch +# User Sam Lantinga <slouken@libsdl.org> +# Date 1343000017 25200 +# Node ID 2ebb0d016f277f7f643d8a66ed0e1099e10d1fba +# Parent 56cad6484b04f83c8d42428c755a046678506436 +Fixed normal linking with libmikmod and linking with earlier versions of libmikmod. + +--- a/dynamic_mod.c ++++ b/dynamic_mod.c +@@ -97,8 +97,8 @@ + (void (*)(void*)) + SDL_LoadFunction(mikmod.handle, "MikMod_free"); + if ( mikmod.MikMod_free == NULL ) { +- SDL_UnloadObject(mikmod.handle); +- return -1; ++ /* libmikmod 3.1 and earlier doesn't have it */ ++ mikmod.MikMod_free = free; + } + mikmod.Player_Active = + (BOOL (*)(void)) +@@ -246,6 +246,11 @@ + mikmod.MikMod_RegisterDriver = MikMod_RegisterDriver; + mikmod.MikMod_errno = &MikMod_errno; + mikmod.MikMod_strerror = MikMod_strerror; ++#if LIBMIKMOD_VERSION < ((3<<16)|(2<<8)) ++ mikmod.MikMod_free = free; ++#else ++ mikmod.MikMod_free = MikMod_free; ++#endif + mikmod.Player_Active = Player_Active; + mikmod.Player_Free = Player_Free; + mikmod.Player_LoadGeneric = Player_LoadGeneric; + |