diff options
author | glx <glx@openttd.org> | 2020-05-10 16:04:04 +0200 |
---|---|---|
committer | Charles Pigott <charlespigott@googlemail.com> | 2020-05-10 20:02:55 +0100 |
commit | 0ed00ae1113f71b6bb34a67c013e96e69929e023 (patch) | |
tree | c487faf76b2e6bceab20cdb27f4dc01a82dc872e /src/saveload | |
parent | 3ba34a72aabf9f34fa3ae71ca6605989918b813e (diff) | |
download | openttd-0ed00ae1113f71b6bb34a67c013e96e69929e023.tar.xz |
Fix: Stop any gamelog action when recovering from SlError()
Diffstat (limited to 'src/saveload')
-rw-r--r-- | src/saveload/saveload.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp index aeaa7a5ed..f9eebed46 100644 --- a/src/saveload/saveload.cpp +++ b/src/saveload/saveload.cpp @@ -341,6 +341,10 @@ void NORETURN SlError(StringID string, const char *extra_msg) * when we access them during cleaning the pool dereferences of * those indices will be made with segmentation faults as result. */ if (_sl.action == SLA_LOAD || _sl.action == SLA_PTRS) SlNullPointers(); + + /* Logging could be active. */ + GamelogStopAnyAction(); + throw std::exception(); } |