Assuming "HACK!" is because the screen deleting was skipping deletions:
it'd delete 0, remove it from the list, then remove 1, skipping the new 0. Fixed that, removed the skip-update hack. (Trying to track down a memory leak ...)
This commit is contained in:
@@ -93,13 +93,11 @@ void ScreenManager::Update( float fDeltaTime )
|
|||||||
m_textCreditInfo[p].Update( fDeltaTime );
|
m_textCreditInfo[p].Update( fDeltaTime );
|
||||||
|
|
||||||
// delete all ScreensToDelete
|
// delete all ScreensToDelete
|
||||||
for( int i=0; i<m_ScreensToDelete.GetSize(); i++ ) {
|
int i;
|
||||||
|
for( i=0; i<m_ScreensToDelete.GetSize(); i++ )
|
||||||
SAFE_DELETE( m_ScreensToDelete[i] );
|
SAFE_DELETE( m_ScreensToDelete[i] );
|
||||||
m_ScreensToDelete.RemoveAt(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
// HACK! If we deleted at least one state, then skip this update!
|
m_ScreensToDelete.RemoveAll();
|
||||||
if( i>0 ) return;
|
|
||||||
|
|
||||||
// Update all windows in the stack
|
// Update all windows in the stack
|
||||||
for( i=0; i<m_ScreenStack.GetSize(); i++ )
|
for( i=0; i<m_ScreenStack.GetSize(); i++ )
|
||||||
|
|||||||
Reference in New Issue
Block a user