diff --git a/stepmania/src/ScreenManager.cpp b/stepmania/src/ScreenManager.cpp index 187e9678f5..bc51e603fa 100644 --- a/stepmania/src/ScreenManager.cpp +++ b/stepmania/src/ScreenManager.cpp @@ -692,20 +692,13 @@ void ScreenManager::LoadDelayedScreen() vector apActorsToDelete; if( bTimeToDeleteScreens && !ScreenIsPrepped(sScreenName) ) { + /* It's time to delete all old prepared screens. Depending on DelayedScreenLoad, + * we can either delete the screens before or after we load the new screen. Either + * way, we must remove them from the prepared list before we prepare new screens. */ if( PREFSMAN->m_bDelayedScreenLoad ) - { DeletePreparedScreens(); - } else - { - /* Since DelayedScreenLoad is false, we want to keep the - * old screens in memory until we finish loading the new - * ones, in order to prevent unloading assets and then - * immediately reloading them. However, since the - * screen isn't in the current group, we must remove - * it from the pool before loading the new screen. */ GrabPreparedActors( apActorsToDelete ); - } } // Load the screen, if it's not already prepared.