From: <cn...@us...> - 2010-02-23 22:04:19
|
Revision: 679 http://hgengine.svn.sourceforge.net/hgengine/?rev=679&view=rev Author: cnlohr Date: 2010-02-23 22:04:13 +0000 (Tue, 23 Feb 2010) Log Message: ----------- tweak - avoid some memory leak junks Modified Paths: -------------- Mercury2/src/MercurySound.cpp Mercury2/src/MercurySound.h Mercury2/src/MercurySoundDriverALSA.cpp Modified: Mercury2/src/MercurySound.cpp =================================================================== --- Mercury2/src/MercurySound.cpp 2010-02-23 20:46:06 UTC (rev 678) +++ Mercury2/src/MercurySound.cpp 2010-02-23 22:04:13 UTC (rev 679) @@ -24,6 +24,16 @@ return tm; } +MercurySoundManager::~MercurySoundManager() +{ + if( m_SoundDriver ) + { + m_SoundDriver->Close(); + SAFE_DELETE( m_SoundDriver ); + } +} + + void MercurySoundManager::Init( const MString & sParameters ) { MercurySoundDriverConstructionPair * dBest = 0; @@ -54,7 +64,7 @@ //Otherwise something went wrong. m_SoundDriver->Close(); - delete m_SoundDriver; + SAFE_DELETE( m_SoundDriver ); scBlacklist.insert( dBest ); } while( true ); Modified: Mercury2/src/MercurySound.h =================================================================== --- Mercury2/src/MercurySound.h 2010-02-23 20:46:06 UTC (rev 678) +++ Mercury2/src/MercurySound.h 2010-02-23 22:04:13 UTC (rev 679) @@ -60,6 +60,7 @@ { public: MercurySoundManager() { } + ~MercurySoundManager(); static MercurySoundManager * Instance(); Modified: Mercury2/src/MercurySoundDriverALSA.cpp =================================================================== --- Mercury2/src/MercurySoundDriverALSA.cpp 2010-02-23 20:46:06 UTC (rev 678) +++ Mercury2/src/MercurySoundDriverALSA.cpp 2010-02-23 22:04:13 UTC (rev 679) @@ -138,7 +138,9 @@ { tPlayback.Halt( true ); if( playback_handle ) + { snd_pcm_close (playback_handle); + } } void * MercurySoundDriverALSA::playback_thread( void * ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |