diff --git a/src/MaaCore/Config/ResourceLoader.cpp b/src/MaaCore/Config/ResourceLoader.cpp index 327c8a558f..08783a2fb5 100644 --- a/src/MaaCore/Config/ResourceLoader.cpp +++ b/src/MaaCore/Config/ResourceLoader.cpp @@ -83,6 +83,8 @@ bool asst::ResourceLoader::load(const std::filesystem::path& path) return false; } + std::unique_lock lock(m_entry_mutex); + #define LoadResourceAndCheckRet(Config, Filename) \ { \ auto full_path = path / Filename; \ diff --git a/src/MaaCore/Config/ResourceLoader.h b/src/MaaCore/Config/ResourceLoader.h index b33aad80de..010737797b 100644 --- a/src/MaaCore/Config/ResourceLoader.h +++ b/src/MaaCore/Config/ResourceLoader.h @@ -56,6 +56,7 @@ namespace asst private: bool m_loaded = false; + std::mutex m_entry_mutex; // only for async load bool m_load_thread_exit = false;