Fix a memleak that doesn't matter

(still havn't found the memleak I'm looking for, but I'll find every harmless
one instead!)
This commit is contained in:
Glenn Maynard
2002-08-23 06:50:48 +00:00
parent f9546160b6
commit 55ad6158a6
2 changed files with 13 additions and 8 deletions
+11 -8
View File
@@ -77,13 +77,21 @@ ScreenManager::~ScreenManager()
{ {
LOG->Trace( "ScreenManager::~ScreenManager()" ); LOG->Trace( "ScreenManager::~ScreenManager()" );
EmptyDeleteQueue();
// delete current states // delete current states
for( int i=0; i<m_ScreenStack.GetSize(); i++ ) for( int i=0; i<m_ScreenStack.GetSize(); i++ )
SAFE_DELETE( m_ScreenStack[i] ); SAFE_DELETE( m_ScreenStack[i] );
} }
void ScreenManager::EmptyDeleteQueue()
{
// delete all ScreensToDelete
for( int i=0; i<m_ScreensToDelete.GetSize(); i++ )
SAFE_DELETE( m_ScreensToDelete[i] );
m_ScreensToDelete.RemoveAll();
}
void ScreenManager::Update( float fDeltaTime ) void ScreenManager::Update( float fDeltaTime )
{ {
@@ -92,15 +100,10 @@ void ScreenManager::Update( float fDeltaTime )
for( int p=0; p<NUM_PLAYERS; p++ ) for( int p=0; p<NUM_PLAYERS; p++ )
m_textCreditInfo[p].Update( fDeltaTime ); m_textCreditInfo[p].Update( fDeltaTime );
// delete all ScreensToDelete EmptyDeleteQueue();
int i;
for( i=0; i<m_ScreensToDelete.GetSize(); i++ )
SAFE_DELETE( m_ScreensToDelete[i] );
m_ScreensToDelete.RemoveAll();
// Update all windows in the stack // Update all windows in the stack
for( i=0; i<m_ScreenStack.GetSize(); i++ ) for( int i=0; i<m_ScreenStack.GetSize(); i++ )
m_ScreenStack[i]->Update( fDeltaTime ); m_ScreenStack[i]->Update( fDeltaTime );
} }
+2
View File
@@ -50,6 +50,8 @@ private:
BitmapText m_textStats; BitmapText m_textStats;
BitmapText m_textSystemMessage; BitmapText m_textSystemMessage;
BitmapText m_textCreditInfo[NUM_PLAYERS]; BitmapText m_textCreditInfo[NUM_PLAYERS];
void EmptyDeleteQueue();
}; };