blob: 32a0d6af226bd2d69bf669058bae6fb440201796 [file] [log] [blame]
# 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.
diff -r 56cad6484b04 -r 2ebb0d016f27 dynamic_mod.c
--- a/dynamic_mod.c Sun Jul 22 16:13:27 2012 -0700
+++ b/dynamic_mod.c Sun Jul 22 16:33:37 2012 -0700
@@ -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;