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:
@@ -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. */
|
||||
|
||||
Reference in New Issue
Block a user