Fix screens occasionally being loaded twice.

This commit is contained in:
Glenn Maynard
2005-10-13 05:18:45 +00:00
parent c21b8ad7a9
commit e7caafa45c
+6 -4
View File
@@ -616,11 +616,13 @@ void ScreenManager::LoadDelayedScreen()
ScreenMessage SM = PopTopScreenInternal();
/* We have a screen to display. Delete the current screens and load it.
* If DelayedScreenLoad is true, delete old screens first; this lowers
* memory requirements, but results in redundant loads as we unload common
* data. */
* If DelayedScreenLoad is true and the screen isn't already loaded, delete
* old screens first; this lowers memory requirements, but results in
* redundant loads as we unload common data. (If the screen is already
* loaded, then do this cleanup later; otherwise we'll delete the prepared
* screen.) */
bool bTimeToDeleteScreens = (g_setGroupedScreens.find(sScreenName) == g_setGroupedScreens.end());
if( bTimeToDeleteScreens && PREFSMAN->m_bDelayedScreenLoad )
if( bTimeToDeleteScreens && PREFSMAN->m_bDelayedScreenLoad && !ScreenIsPrepped(sScreenName) )
{
bTimeToDeleteScreens = false;
DeletePreparedScreens();