From 28fc7bcdad402bfd7e19a72ad5a2eab2baff14b8 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Sun, 19 Jun 2005 09:40:16 +0000 Subject: [PATCH] fix "save prefs when exiting system menu"; when DelayedScreenLoad, bWasOnSystemMenu was always false, because the screen was already deleted --- stepmania/src/ScreenManager.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/stepmania/src/ScreenManager.cpp b/stepmania/src/ScreenManager.cpp index 784b05e41d..68c3349a19 100644 --- a/stepmania/src/ScreenManager.cpp +++ b/stepmania/src/ScreenManager.cpp @@ -361,6 +361,8 @@ void ScreenManager::SetNewScreen( const CString &sScreenName ) void ScreenManager::LoadDelayedScreen() { + const bool bWasOnSystemMenu = !m_ScreenStack.empty() && m_ScreenStack.back()->GetScreenType() == system_menu; + /* * We have a screen to display. Delete the current screens and load it. * If DelayedScreenLoad is true, clear the old screen first; this lowers @@ -377,8 +379,6 @@ retry: CString sScreenName = m_sDelayedScreen; m_sDelayedScreen = ""; - Screen* pOldTopScreen = m_ScreenStack.empty() ? NULL : m_ScreenStack.back(); - // // Search prepped screens to see if we already have this screen available. @@ -428,7 +428,6 @@ retry: m_sLastLoadedBackgroundPath = sNewBGA; } - bool bWasOnSystemMenu = pOldTopScreen && pOldTopScreen->GetScreenType() == system_menu; bool bIsOnSystemMenu = pNewScreen->GetScreenType() == system_menu; // If we're exiting a system menu, persist settings in case we don't exit normally