dfdc7a3091
Copy from multimedia:libs/libmikmod based on submit request 27748 from user tiwai OBS-URL: https://build.opensuse.org/request/show/27748 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libmikmod?expand=0&rev=12
36 lines
1.2 KiB
Diff
36 lines
1.2 KiB
Diff
Index: loaders/load_xm.c
|
|
===================================================================
|
|
--- loaders/load_xm.c.orig
|
|
+++ loaders/load_xm.c
|
|
@@ -636,7 +636,8 @@ static BOOL LoadInstruments(void)
|
|
_mm_fseek(modreader,ck,SEEK_SET);
|
|
for(u=headend-_mm_ftell(modreader);u;u--) _mm_read_UBYTE(modreader);
|
|
|
|
- if(_mm_eof(modreader)) {
|
|
+ /* last instrument is at the end of file in version 0x0104 */
|
|
+ if(_mm_eof(modreader) && (mh->version<0x0104 || t<of.numins-1)) {
|
|
free(nextwav);free(wh);
|
|
nextwav=NULL;wh=NULL;
|
|
_mm_errno = MMERR_LOADING_SAMPLEINFO;
|
|
Index: playercode/mloader.c
|
|
===================================================================
|
|
--- playercode/mloader.c.orig
|
|
+++ playercode/mloader.c
|
|
@@ -450,10 +450,12 @@ MODULE* Player_LoadGeneric_internal(MREA
|
|
if (!l->Init || l->Init()) {
|
|
_mm_rewind(modreader);
|
|
ok = l->Load(curious);
|
|
- /* propagate inflags=flags for in-module samples */
|
|
- for (t = 0; t < of.numsmp; t++)
|
|
- if (of.samples[t].inflags == 0)
|
|
- of.samples[t].inflags = of.samples[t].flags;
|
|
+ if (ok) {
|
|
+ /* propagate inflags=flags for in-module samples */
|
|
+ for (t = 0; t < of.numsmp; t++)
|
|
+ if (of.samples[t].inflags == 0)
|
|
+ of.samples[t].inflags = of.samples[t].flags;
|
|
+ }
|
|
} else
|
|
ok = 0;
|
|
|