fix crash when sending screen messages when there is no top screen

This commit is contained in:
Glenn Maynard
2005-03-10 21:18:04 +00:00
parent 5d67acd9f6
commit c50adee05a
+12 -4
View File
@@ -528,6 +528,8 @@ void ScreenManager::MiniMenu( Menu* pDef, ScreenMessage SM_SendOnOK, ScreenMessa
void ScreenManager::PopTopScreen( ScreenMessage SM )
{
ASSERT( m_ScreenStack.size() > 0 );
Screen* pScreenToPop = m_ScreenStack.back(); // top menu
pScreenToPop->HandleScreenMessage( SM_LoseFocus );
m_ScreenStack.erase(m_ScreenStack.end()-1, m_ScreenStack.end());
@@ -547,14 +549,20 @@ void ScreenManager::PopTopScreen( ScreenMessage SM )
void ScreenManager::PostMessageToTopScreen( ScreenMessage SM, float fDelay )
{
Screen* pTopScreen = m_ScreenStack.back();
pTopScreen->PostScreenMessage( SM, fDelay );
if( m_ScreenStack.size() )
{
Screen* pTopScreen = m_ScreenStack.back();
pTopScreen->PostScreenMessage( SM, fDelay );
}
}
void ScreenManager::SendMessageToTopScreen( ScreenMessage SM )
{
Screen* pTopScreen = m_ScreenStack.back();
pTopScreen->HandleScreenMessage( SM );
if( m_ScreenStack.size() )
{
Screen* pTopScreen = m_ScreenStack.back();
pTopScreen->HandleScreenMessage( SM );
}
}