
# 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;
