From b04e7faec6fe79ce87f0055521f826f728cd40bd Mon Sep 17 00:00:00 2001 From: Kyzentun Date: Mon, 13 Apr 2015 10:33:09 -0600 Subject: [PATCH] Fixed RevertFromDisk by making it turn off the InStepEditor flag while reloading the song. Removed redundant call of loaderSSC.TidyUpData from NotesLoader::LoadFromDir because loaderSSC.LoadFromDir calls it. --- src/NotesLoader.cpp | 3 +-- src/ScreenEdit.cpp | 6 +++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/NotesLoader.cpp b/src/NotesLoader.cpp index 2b655e1caf..41575f924b 100644 --- a/src/NotesLoader.cpp +++ b/src/NotesLoader.cpp @@ -35,8 +35,7 @@ bool NotesLoader::LoadFromDir( const RString &sPath, Song &out, set &Bl if( !list.empty() ) { if( !loaderSSC.LoadFromDir( sPath, out, load_autosave ) ) - return false; - loaderSSC.TidyUpData( out, false ); + { return false; } return true; } SMALoader loaderSMA; diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index b48d6055c8..7bd3be3718 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -6133,7 +6133,11 @@ void ScreenEdit::RevertFromDisk() id.FromSteps( GAMESTATE->m_pCurSteps[PLAYER_1] ); ASSERT( id.IsValid() ); - GAMESTATE->m_pCurSong->ReloadFromSongDir( GAMESTATE->m_pCurSong->GetSongDir() ); + // If m_bInStepEditor is true while the song is reloaded, it screws up + // loading and results in the steps being cleared. -Kyz + GAMESTATE->m_bInStepEditor= false; + GAMESTATE->m_pCurSong->ReloadFromSongDir(); + GAMESTATE->m_bInStepEditor= true; Steps *pNewSteps = id.ToSteps( GAMESTATE->m_pCurSong, true ); if( !pNewSteps )