diff --git a/stepmania/src/ScreenCaution.cpp b/stepmania/src/ScreenCaution.cpp index d52be3db13..0b747109ca 100644 --- a/stepmania/src/ScreenCaution.cpp +++ b/stepmania/src/ScreenCaution.cpp @@ -68,7 +68,7 @@ void ScreenCaution::HandleScreenMessage( const ScreenMessage SM ) switch( SM ) { case SM_StartClosing: - if( !m_In.IsTransitioning() && !m_Out.IsTransitioning() ) + if( !m_In.IsTransitioning() && !m_Out.IsTransitioning() && !m_Back.IsTransitioning() ) { m_Background.PlayOffCommand(); m_Out.StartTransitioning( SM_GoToNextScreen ); @@ -90,11 +90,10 @@ void ScreenCaution::HandleScreenMessage( const ScreenMessage SM ) void ScreenCaution::MenuStart( PlayerNumber pn ) { - if( !m_In.IsTransitioning() && !m_Out.IsTransitioning() ) - { - m_Background.PlayOffCommand(); - m_Out.StartTransitioning( SM_GoToNextScreen ); - } + if( m_In.IsTransitioning() || m_Out.IsTransitioning() || m_Back.IsTransitioning() ) + return; + m_Background.PlayOffCommand(); + m_Out.StartTransitioning( SM_GoToNextScreen ); } void ScreenCaution::MenuBack( PlayerNumber pn )