Fixed screen cleanup method not being called under some circumstances

git-svn-id: svn+ssh://svn.code.sf.net/p/supertuxkart/code/main/trunk@4938 178a84e3-b1eb-0310-8ba1-8eac791a3b58
This commit is contained in:
auria
2010-03-05 23:38:27 +00:00
parent 6b65eb0217
commit 26fc6bb627

View File

@@ -192,8 +192,10 @@ void AbstractStateManager::resetAndGoToScreen(Screen* screen)
assert(World::getWorld()==NULL);
input_manager->setMode(InputManager::MENU);
if (m_game_mode != GAME) getCurrentScreen()->tearDown();
m_menu_stack.clear();
input_manager->setMode(InputManager::MENU);
m_menu_stack.push_back(name);
setGameState(MENU);
sound_manager->positionListener( Vec3(0,0,0), Vec3(0,1,0) );
@@ -210,6 +212,7 @@ void AbstractStateManager::resetAndSetStack(Screen* screens[])
input_manager->setMode(InputManager::MENU);
if (m_game_mode != GAME) getCurrentScreen()->tearDown();
m_menu_stack.clear();
for (int n=0; screens[n] != NULL; n++)