diff --git a/stepmania/src/ScreenWithMenuElements.cpp b/stepmania/src/ScreenWithMenuElements.cpp index 166dfe35e6..643b0b2e55 100644 --- a/stepmania/src/ScreenWithMenuElements.cpp +++ b/stepmania/src/ScreenWithMenuElements.cpp @@ -128,6 +128,10 @@ void ScreenWithMenuElements::Init() m_Cancel.Load( THEME->GetPathB(m_sName,"cancel") ); m_Cancel.SetDrawOrder( DRAW_ORDER_TRANSITIONS ); this->AddChild( &m_Cancel ); + + /* Grab the music path here; don't GetPath during BeginScreen. */ + if( PLAY_MUSIC ) + m_sPathToMusic = THEME->GetPathS( m_sName, "music" ); } void ScreenWithMenuElements::BeginScreen() @@ -199,7 +203,7 @@ void ScreenWithMenuElements::StartPlayingMusic() /* Some screens should leave the music alone (eg. ScreenPlayerOptions music * sample left over from ScreenSelectMusic). */ if( PLAY_MUSIC ) - SOUND->PlayMusic( THEME->GetPathS(m_sName,"music") ); + SOUND->PlayMusic( m_sPathToMusic ); } void ScreenWithMenuElements::Update( float fDeltaTime ) diff --git a/stepmania/src/ScreenWithMenuElements.h b/stepmania/src/ScreenWithMenuElements.h index 039db44ba4..ffeff8413d 100644 --- a/stepmania/src/ScreenWithMenuElements.h +++ b/stepmania/src/ScreenWithMenuElements.h @@ -58,6 +58,8 @@ protected: ThemeMetric PLAY_MUSIC; ThemeMetric TIMER_SECONDS; +private: + CString m_sPathToMusic; }; #endif