Skip to content

Commit 1a6f17f

Browse files
xezonOmniBlade
authored andcommitted
[ZH] Fix: Invalid memory access in AudioManager::addAudioEvent #464
1 parent f4dd2f9 commit 1a6f17f

File tree

4 files changed

+4
-4
lines changed

4 files changed

+4
-4
lines changed

Diff for: GeneralsMD/Code/GameEngine/Include/Common/GameAudio.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -262,7 +262,7 @@ class AudioManager : public SubsystemInterface
262262
const MiscAudio *getMiscAudio( void ) const;
263263

264264
// This function should only be called by AudioManager, MusicManager and SoundManager
265-
virtual void releaseAudioEventRTS( AudioEventRTS *eventToRelease );
265+
virtual void releaseAudioEventRTS( AudioEventRTS *&eventToRelease );
266266

267267
// For INI
268268
AudioSettings *friend_getAudioSettings( void );

Diff for: GeneralsMD/Code/GameEngine/Include/Common/GameSounds.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ class SoundManager : public SubsystemInterface
6969
virtual void setCameraAudibleDistance( Real audibleDistance );
7070
virtual Real getCameraAudibleDistance( void );
7171

72-
virtual void addAudioEvent(AudioEventRTS *eventToAdd); // pre-copied
72+
virtual void addAudioEvent(AudioEventRTS *&eventToAdd); // pre-copied
7373

7474
virtual void notifyOf2DSampleStart( void );
7575
virtual void notifyOf3DSampleStart( void );

Diff for: GeneralsMD/Code/GameEngine/Source/Common/Audio/GameAudio.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -1090,7 +1090,7 @@ AudioHandle AudioManager::allocateNewHandle( void )
10901090
}
10911091

10921092
//-------------------------------------------------------------------------------------------------
1093-
void AudioManager::releaseAudioEventRTS( AudioEventRTS *eventToRelease )
1093+
void AudioManager::releaseAudioEventRTS( AudioEventRTS *&eventToRelease )
10941094
{
10951095
if( eventToRelease )
10961096
{

Diff for: GeneralsMD/Code/GameEngine/Source/Common/Audio/GameSounds.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ Real SoundManager::getCameraAudibleDistance( void )
136136
}
137137

138138
//-------------------------------------------------------------------------------------------------
139-
void SoundManager::addAudioEvent(AudioEventRTS *eventToAdd)
139+
void SoundManager::addAudioEvent(AudioEventRTS *&eventToAdd)
140140
{
141141
if (m_num2DSamples == 0 && m_num3DSamples == 0) {
142142
m_num2DSamples = TheAudio->getNum2DSamples();

0 commit comments

Comments
 (0)