From 07ce4c213dddb27bccf38011cde9e172a44b9eec Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sun, 9 Apr 2017 00:19:35 -0700 Subject: [PATCH] SaveState: Correct crash on rewind usage. Since the mutex is now non-recursive, make the Compress/Decompress API asymmetric. --- Core/SaveState.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/Core/SaveState.cpp b/Core/SaveState.cpp index 1a27597b92..dbda741aaf 100644 --- a/Core/SaveState.cpp +++ b/Core/SaveState.cpp @@ -140,7 +140,7 @@ namespace SaveState return CChunkFileReader::ERROR_BAD_FILE; static std::vector buffer; - Decompress(buffer, states_[n], bases_[baseMapping_[n]]); + LockedDecompress(buffer, states_[n], bases_[baseMapping_[n]]); return LoadFromRam(buffer); } @@ -174,9 +174,8 @@ namespace SaveState } } - void Decompress(std::vector &result, const std::vector &compressed, const std::vector &base) + void LockedDecompress(std::vector &result, const std::vector &compressed, const std::vector &base) { - std::lock_guard guard(lock_); result.clear(); result.reserve(base.size()); auto basePos = base.begin();