From 0c6dad6a3726b0073640165689ecb416b4510014 Mon Sep 17 00:00:00 2001 From: rog Date: Sat, 24 Nov 2012 18:27:20 -0500 Subject: [PATCH] Clear unneeded variables upon stopping emulation. --- Source/Core/Core/Src/Core.cpp | 2 +- Source/Core/Core/Src/Movie.cpp | 11 +++++++---- Source/Core/Core/Src/Movie.h | 1 + 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/Source/Core/Core/Src/Core.cpp b/Source/Core/Core/Src/Core.cpp index d3c9fb7033..f939f18f60 100644 --- a/Source/Core/Core/Src/Core.cpp +++ b/Source/Core/Core/Src/Core.cpp @@ -293,7 +293,7 @@ void Stop() // - Hammertime! SConfig::GetInstance().m_SYSCONF->Reload(); INFO_LOG(CONSOLE, "Stop [Main Thread]\t\t---- Shutdown complete ----"); - Movie::g_currentInputCount = 0; + Movie::Shutdown(); g_bStopping = false; } diff --git a/Source/Core/Core/Src/Movie.cpp b/Source/Core/Core/Src/Movie.cpp index fd86516c57..cc4834b8b9 100644 --- a/Source/Core/Core/Src/Movie.cpp +++ b/Source/Core/Core/Src/Movie.cpp @@ -163,10 +163,6 @@ void Init() g_currentFrame = 0; g_currentLagCount = 0; g_currentInputCount = 0; - // we don't clear these things because otherwise we can't resume playback if we load a movie state later - //g_totalFrames = g_totalBytes = 0; - //delete tmpInput; - //tmpInput = NULL; } else std::thread md5thread(CheckMD5); @@ -1186,4 +1182,11 @@ void CheckMD5() Core::DisplayMessage("Finished calculating checksum.", 2000); } } + +void Shutdown() +{ + g_currentInputCount = g_totalInputCount = g_totalFrames = g_totalBytes = 0; + delete [] tmpInput; + tmpInput = NULL; +} }; diff --git a/Source/Core/Core/Src/Movie.h b/Source/Core/Core/Src/Movie.h index 42e7dc3e75..af8ed92c53 100644 --- a/Source/Core/Core/Src/Movie.h +++ b/Source/Core/Core/Src/Movie.h @@ -177,6 +177,7 @@ void EndPlayInput(bool cont); void SaveRecording(const char *filename); void DoState(PointerWrap &p); void CheckMD5(); +void Shutdown(); std::string GetInputDisplay();