You had it right the first time, almost. :)

It's better to put hacks in the file they're affecting, rather than global
handlers like ScreenManager.

The problem you were having is that you were sending the "start fade
out" message; when skipping a screen, you want to skip to "load next
screen" and not fade out.

It's OK to load the screen itself when you're skipping it, since that doesn't
take time as long as you don't load the components.

Note that this is how eg. ScreenInstructions and ScreenWarning work.
This commit is contained in:
Glenn Maynard
2003-07-30 01:59:11 +00:00
parent 0ddc939e62
commit f3540c9eb7
2 changed files with 7 additions and 4 deletions
-4
View File
@@ -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. */