Browse Source

Fix memory leak with audio stream not been released

SFileChunk was not been release.
pull/712/head
BDC 6 years ago committed by Anders Jenbo
parent
commit
74938fdacd
  1. 1
      3rdParty/Storm/Source/storm.h
  2. 1
      Source/effects.cpp
  3. 6
      SourceX/storm/storm.cpp

1
3rdParty/Storm/Source/storm.h vendored

@ -200,6 +200,7 @@ BOOL STORMAPI SFileCloseArchive(HANDLE hArchive);
BOOL STORMAPI SFileCloseFile(HANDLE hFile);
BOOL STORMAPI SFileDdaBeginEx(HANDLE hFile, DWORD flags, DWORD mask, unsigned __int32 lDistanceToMove, signed __int32 volume, signed int pan, int a7);
void SFileFreeChunk();
BOOL STORMAPI SFileDdaDestroy();
BOOL STORMAPI SFileDdaEnd(HANDLE hFile);
BOOL STORMAPI SFileDdaGetPos(HANDLE hFile, DWORD *current, DWORD *end);

1
Source/effects.cpp

@ -936,6 +936,7 @@ void stream_stop()
if (sghStream) {
SFileDdaEnd(sghStream);
SFileCloseFile(sghStream);
SFileFreeChunk();
sghStream = NULL;
sgpStreamSFX = NULL;
}

6
SourceX/storm/storm.cpp

@ -103,6 +103,12 @@ BOOL SFileDdaBeginEx(HANDLE hFile, DWORD flags, DWORD mask, unsigned __int32 lDi
return true;
}
void SFileFreeChunk()
{
if(SFileChunk)
Mix_FreeChunk(SFileChunk);
}
BOOL SFileDdaDestroy()
{
Mix_FreeChunk(SFileChunk);

Loading…
Cancel
Save