From ea879be3e936634067650a18e5d1db3a8394fb95 Mon Sep 17 00:00:00 2001 From: Glenn Maynard Date: Wed, 9 Aug 2006 03:29:24 +0000 Subject: [PATCH] delete all screens when reloading --- stepmania/src/ScreenDebugOverlay.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/stepmania/src/ScreenDebugOverlay.cpp b/stepmania/src/ScreenDebugOverlay.cpp index 4da7e643ad..a318a9d3f0 100644 --- a/stepmania/src/ScreenDebugOverlay.cpp +++ b/stepmania/src/ScreenDebugOverlay.cpp @@ -745,13 +745,16 @@ class DebugLineSendNotesEnded : public IDebugLine class DebugLineReloadCurrentScreen : public IDebugLine { virtual RString GetDescription() { return RELOAD.GetValue(); } - virtual RString GetValue() { return SCREENMAN ? SCREENMAN->GetTopScreen()->GetName() : RString(); } + virtual RString GetValue() { return SCREENMAN && SCREENMAN->GetTopScreen()? SCREENMAN->GetTopScreen()->GetName() : RString(); } virtual bool IsEnabled() { return true; } virtual void Do( RString &sMessageOut ) { SOUND->StopMusic(); StepMania::ResetGame(); - SCREENMAN->SetNewScreen( SCREENMAN->GetTopScreen()->GetName() ); + + RString sScreenName = SCREENMAN->GetTopScreen()->GetName(); + SCREENMAN->PopAllScreens(); + SCREENMAN->SetNewScreen( sScreenName ); IDebugLine::Do( sMessageOut ); sMessageOut = ""; }