From e76745b0b220fb4c546b512082d5b57294db69cd Mon Sep 17 00:00:00 2001 From: wraitii Date: Fri, 22 Jan 2021 17:13:12 +0000 Subject: [PATCH] Revert cf6aaf37a4, causing false OOS in visual replays. cf6aaf37a4 fixed #5546, but it seems to cause some rare OOS in visual replays, as reported in #5909. The culprit is likely that hashes aren't computed at quite the same moment and onDestroy changes things. Reverting for now before A24. Reported by: Angen Refs #5546. Fixes #5909 This was SVN commit r24764. --- source/simulation2/system/ReplayTurnManager.cpp | 6 +++--- source/simulation2/system/ReplayTurnManager.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/source/simulation2/system/ReplayTurnManager.cpp b/source/simulation2/system/ReplayTurnManager.cpp index 79a9f5ddb4..9fe972b60b 100644 --- a/source/simulation2/system/ReplayTurnManager.cpp +++ b/source/simulation2/system/ReplayTurnManager.cpp @@ -57,10 +57,10 @@ void CReplayTurnManager::StoreFinalReplayTurn(u32 turn) m_FinalTurn = turn; } -void CReplayTurnManager::NotifyFinishedOwnCommands(u32 turn) +void CReplayTurnManager::NotifyFinishedUpdate(u32 turn) { - CLocalTurnManager::NotifyFinishedOwnCommands(turn); - turn = turn - COMMAND_DELAY; + if (turn == 1 && m_FinalTurn == 0) + g_GUI->SendEventToAll(EventNameReplayFinished); if (turn > m_FinalTurn) return; diff --git a/source/simulation2/system/ReplayTurnManager.h b/source/simulation2/system/ReplayTurnManager.h index 013302f093..d1b1ce394e 100644 --- a/source/simulation2/system/ReplayTurnManager.h +++ b/source/simulation2/system/ReplayTurnManager.h @@ -37,7 +37,7 @@ public: void StoreFinalReplayTurn(u32 turn); private: - void NotifyFinishedOwnCommands(u32 turn) override; + void NotifyFinishedUpdate(u32 turn) override; void DoTurn(u32 turn);