# HG changeset patch # User Sam Lantinga # 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;