1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-03-31 19:20:26 +00:00

Avoid possible race condition on NIFFile::sLoadUnsupportedFiles

Its value is written from the main thread but other threads read it.
This commit is contained in:
elsid 2022-02-11 21:36:08 +01:00
parent fbd95516f4
commit 283b68025c
No known key found for this signature in database
GPG Key ID: B845CB9FEE18AB40
2 changed files with 3 additions and 2 deletions

View File

@ -344,7 +344,7 @@ bool NIFFile::getUseSkinning() const
return mUseSkinning; return mUseSkinning;
} }
bool NIFFile::sLoadUnsupportedFiles = false; std::atomic_bool NIFFile::sLoadUnsupportedFiles = false;
void NIFFile::setLoadUnsupportedFiles(bool load) void NIFFile::setLoadUnsupportedFiles(bool load)
{ {

View File

@ -5,6 +5,7 @@
#include <stdexcept> #include <stdexcept>
#include <vector> #include <vector>
#include <atomic>
#include <components/debug/debuglog.hpp> #include <components/debug/debuglog.hpp>
#include <components/files/constrainedfilestream.hpp> #include <components/files/constrainedfilestream.hpp>
@ -65,7 +66,7 @@ class NIFFile final : public File
bool mUseSkinning = false; bool mUseSkinning = false;
static bool sLoadUnsupportedFiles; static std::atomic_bool sLoadUnsupportedFiles;
/// Parse the file /// Parse the file
void parse(Files::IStreamPtr stream); void parse(Files::IStreamPtr stream);