diff --git a/stepmania/src/ScreenManager.cpp b/stepmania/src/ScreenManager.cpp index dfde80f42f..f4322ba5ad 100644 --- a/stepmania/src/ScreenManager.cpp +++ b/stepmania/src/ScreenManager.cpp @@ -474,10 +474,6 @@ void ScreenManager::SetNewScreen( CString sClassName ) { m_DelayedScreen = sClassName; - // bypass unlock screen if unlocks aren't being used - if (sClassName == "ScreenUnlock" && !PREFSMAN->m_bUseUnlockSystem) - m_DelayedScreen = THEME->GetMetric("ScreenUnlock","NextScreen"); - /* If we're not delaying screen loads, load it now. Otherwise, we'll load * it on the next iteration. Only delay if we already have a screen * loaded; otherwise, there's no reason to delay. */ diff --git a/stepmania/src/ScreenUnlock.cpp b/stepmania/src/ScreenUnlock.cpp index 3768ed3b4e..c12112ddea 100644 --- a/stepmania/src/ScreenUnlock.cpp +++ b/stepmania/src/ScreenUnlock.cpp @@ -41,6 +41,13 @@ ScreenUnlock::ScreenUnlock() : ScreenAttract("ScreenUnlock") { LOG->Trace("ScreenUnlock::ScreenUnlock()"); + + if (!PREFSMAN->m_bUseUnlockSystem) + { + this->HandleScreenMessage( SM_GoToNextScreen ); + return; + } + PointsUntilNextUnlock.LoadFromFont( THEME->GetPathToF("Common normal") ); PointsUntilNextUnlock.SetHorizAlign( Actor::align_left );