diff --git a/stepmania/src/ScreenManager.cpp b/stepmania/src/ScreenManager.cpp index b91705335b..0e24e8fed1 100644 --- a/stepmania/src/ScreenManager.cpp +++ b/stepmania/src/ScreenManager.cpp @@ -241,14 +241,15 @@ Screen* ScreenManager::MakeNewScreen( CString sClassName ) void ScreenManager::PrepNewScreen( CString sClassName ) { - if(!sClassName.GetLength()) { - ASSERT( m_ScreenBuffered != NULL); - SetNewScreen( m_ScreenBuffered ); - m_ScreenBuffered = NULL; - } else { - ASSERT(m_ScreenBuffered == NULL); - m_ScreenBuffered = MakeNewScreen(sClassName); - } + ASSERT(m_ScreenBuffered == NULL); + m_ScreenBuffered = MakeNewScreen(sClassName); +} + +void ScreenManager::LoadPreppedScreen() +{ + ASSERT( m_ScreenBuffered != NULL); + SetNewScreen( m_ScreenBuffered ); + m_ScreenBuffered = NULL; } void ScreenManager::SetNewScreen( Screen *pNewScreen ) diff --git a/stepmania/src/ScreenManager.h b/stepmania/src/ScreenManager.h index 2505c53abc..be89b7fda7 100644 --- a/stepmania/src/ScreenManager.h +++ b/stepmania/src/ScreenManager.h @@ -33,6 +33,7 @@ public: void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI ); void PrepNewScreen( CString sClassName ); + void LoadPreppedScreen(); void SetNewScreen( CString sClassName ); void Prompt( ScreenMessage SM_SendWhenDone, CString sText, bool bYesNo = false, bool bDefaultAnswer = false, void(*OnYes)() = NULL, void(*OnNo)() = NULL ); void TextEntry( ScreenMessage SM_SendWhenDone, CString sQuestion, CString sInitialAnswer, void(*OnOK)(CString sAnswer) = NULL, void(*OnCanel)() = NULL ); diff --git a/stepmania/src/ScreenStage.cpp b/stepmania/src/ScreenStage.cpp index 13f9bc3398..df99a534ba 100644 --- a/stepmania/src/ScreenStage.cpp +++ b/stepmania/src/ScreenStage.cpp @@ -569,7 +569,7 @@ void ScreenStage::HandleScreenMessage( const ScreenMessage SM ) SCREENMAN->PrepNewScreen( "ScreenGameplay" ); break; case SM_GoToNextScreen: - SCREENMAN->PrepNewScreen( "" ); /* use prepped */ + SCREENMAN->LoadPreppedScreen(); /* use prepped */ break; } }