mirror of
https://abf.rosa.ru/djam/SDL_mixer.git
synced 2025-02-23 15:52:48 +00:00
LOG Add patches from Fedora to fix crashes with mikmod
This commit is contained in:
parent
c424013090
commit
98f59dbc99
3 changed files with 107 additions and 1 deletions
67
SDL_mixer-MikMod-1.patch
Normal file
67
SDL_mixer-MikMod-1.patch
Normal file
|
@ -0,0 +1,67 @@
|
||||||
|
|
||||||
|
# HG changeset patch
|
||||||
|
# User Sam Lantinga <slouken@libsdl.org>
|
||||||
|
# Date 1342998807 25200
|
||||||
|
# Node ID 56cad6484b04f83c8d42428c755a046678506436
|
||||||
|
# Parent c92001a2c18f628698c58aa4e05a7335d10d0e9e
|
||||||
|
Paul P Komkoff Jr fixed malloc/free mismatch in the MikMod driver
|
||||||
|
|
||||||
|
diff -r c92001a2c18f -r 56cad6484b04 CHANGES
|
||||||
|
--- a/CHANGES Sun Mar 04 21:32:47 2012 +0000
|
||||||
|
+++ b/CHANGES Sun Jul 22 16:13:27 2012 -0700
|
||||||
|
@@ -1,3 +1,7 @@
|
||||||
|
+1.2.13:
|
||||||
|
+Paul P Komkoff Jr - Sun Jul 22 16:12:28 PDT 2012
|
||||||
|
+ * Fixed malloc/free mismatch in the MikMod driver
|
||||||
|
+
|
||||||
|
1.2.12:
|
||||||
|
Sam Lantinga - Sat Jan 14 22:00:29 2012 -0500
|
||||||
|
* Fixed seek offset with SMPEG (was relative, should be absolute)
|
||||||
|
diff -r c92001a2c18f -r 56cad6484b04 dynamic_mod.c
|
||||||
|
--- a/dynamic_mod.c Sun Mar 04 21:32:47 2012 +0000
|
||||||
|
+++ b/dynamic_mod.c Sun Jul 22 16:13:27 2012 -0700
|
||||||
|
@@ -93,6 +93,13 @@
|
||||||
|
SDL_UnloadObject(mikmod.handle);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
+ mikmod.MikMod_free =
|
||||||
|
+ (void (*)(void*))
|
||||||
|
+ SDL_LoadFunction(mikmod.handle, "MikMod_free");
|
||||||
|
+ if ( mikmod.MikMod_free == NULL ) {
|
||||||
|
+ SDL_UnloadObject(mikmod.handle);
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
mikmod.Player_Active =
|
||||||
|
(BOOL (*)(void))
|
||||||
|
SDL_LoadFunction(mikmod.handle, "Player_Active");
|
||||||
|
diff -r c92001a2c18f -r 56cad6484b04 dynamic_mod.h
|
||||||
|
--- a/dynamic_mod.h Sun Mar 04 21:32:47 2012 +0000
|
||||||
|
+++ b/dynamic_mod.h Sun Jul 22 16:13:27 2012 -0700
|
||||||
|
@@ -35,6 +35,7 @@
|
||||||
|
void (*MikMod_RegisterDriver)(struct MDRIVER*);
|
||||||
|
int* MikMod_errno;
|
||||||
|
char* (*MikMod_strerror)(int);
|
||||||
|
+ void (*MikMod_free)(void*);
|
||||||
|
BOOL (*Player_Active)(void);
|
||||||
|
void (*Player_Free)(MODULE*);
|
||||||
|
MODULE* (*Player_LoadGeneric)(MREADER*,int,BOOL);
|
||||||
|
diff -r c92001a2c18f -r 56cad6484b04 music_mod.c
|
||||||
|
--- a/music_mod.c Sun Mar 04 21:32:47 2012 +0000
|
||||||
|
+++ b/music_mod.c Sun Jul 22 16:13:27 2012 -0700
|
||||||
|
@@ -109,13 +109,13 @@
|
||||||
|
|
||||||
|
list = mikmod.MikMod_InfoDriver();
|
||||||
|
if ( list )
|
||||||
|
- free(list);
|
||||||
|
+ mikmod.MikMod_free(list);
|
||||||
|
else
|
||||||
|
mikmod.MikMod_RegisterDriver(mikmod.drv_nos);
|
||||||
|
|
||||||
|
list = mikmod.MikMod_InfoLoader();
|
||||||
|
if ( list )
|
||||||
|
- free(list);
|
||||||
|
+ mikmod.MikMod_free(list);
|
||||||
|
else
|
||||||
|
mikmod.MikMod_RegisterAllLoaders();
|
||||||
|
|
||||||
|
|
35
SDL_mixer-MikMod-2.patch
Normal file
35
SDL_mixer-MikMod-2.patch
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
|
||||||
|
# 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;
|
||||||
|
|
|
@ -5,12 +5,14 @@
|
||||||
|
|
||||||
Name: SDL_mixer
|
Name: SDL_mixer
|
||||||
Version: 1.2.12
|
Version: 1.2.12
|
||||||
Release: 2
|
Release: 3
|
||||||
Summary: Simple DirectMedia Layer - mixer
|
Summary: Simple DirectMedia Layer - mixer
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
URL: http://www.libsdl.org/projects/SDL_mixer/
|
URL: http://www.libsdl.org/projects/SDL_mixer/
|
||||||
Source0: http://www.libsdl.org/projects/SDL_mixer/release/%{name}-%{version}.tar.gz
|
Source0: http://www.libsdl.org/projects/SDL_mixer/release/%{name}-%{version}.tar.gz
|
||||||
|
Patch0: SDL_mixer-MikMod-1.patch
|
||||||
|
Patch1: SDL_mixer-MikMod-2.patch
|
||||||
BuildRequires: pkgconfig(sdl)
|
BuildRequires: pkgconfig(sdl)
|
||||||
BuildRequires: pkgconfig(esound)
|
BuildRequires: pkgconfig(esound)
|
||||||
BuildRequires: libmikmod-devel
|
BuildRequires: libmikmod-devel
|
||||||
|
@ -60,6 +62,8 @@ This package contains binary to test the associated library.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
|
%patch0 -p1
|
||||||
|
%patch1 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# (Anssi 02/2010) The below --disable-music-foo-shared options do not disable
|
# (Anssi 02/2010) The below --disable-music-foo-shared options do not disable
|
||||||
|
|
Loading…
Add table
Reference in a new issue