|
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.
|