From d92c7af2cf73ffc67e066432cdc210fedf91b3ba Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Tue, 17 Oct 2023 09:53:06 +0200 Subject: [PATCH] Fix debug file access race-conditions when importing many materials at once --- Source/Engine/Content/Assets/Material.cpp | 3 +++ Source/Engine/Particles/ParticleEmitter.cpp | 3 +++ 2 files changed, 6 insertions(+) diff --git a/Source/Engine/Content/Assets/Material.cpp b/Source/Engine/Content/Assets/Material.cpp index 76ed34b80..276b6b1f7 100644 --- a/Source/Engine/Content/Assets/Material.cpp +++ b/Source/Engine/Content/Assets/Material.cpp @@ -20,6 +20,7 @@ #include "Engine/ShadersCompilation/Config.h" #if BUILD_DEBUG #include "Engine/Engine/Globals.h" +#include "Engine/Scripting/BinaryModule.h" #endif #endif @@ -256,7 +257,9 @@ Asset::LoadResult Material::load() #if BUILD_DEBUG && USE_EDITOR // Dump generated material source to the temporary file + BinaryModule::Locker.Lock(); source.SaveToFile(Globals::ProjectCacheFolder / TEXT("material.txt")); + BinaryModule::Locker.Unlock(); #endif // Encrypt source code diff --git a/Source/Engine/Particles/ParticleEmitter.cpp b/Source/Engine/Particles/ParticleEmitter.cpp index 20e4c0490..ea1161c6b 100644 --- a/Source/Engine/Particles/ParticleEmitter.cpp +++ b/Source/Engine/Particles/ParticleEmitter.cpp @@ -19,6 +19,7 @@ #include "Engine/Particles/Graph/GPU/ParticleEmitterGraph.GPU.h" #if BUILD_DEBUG #include "Engine/Engine/Globals.h" +#include "Engine/Scripting/BinaryModule.h" #endif #endif #if COMPILE_WITH_GPU_PARTICLES @@ -185,7 +186,9 @@ Asset::LoadResult ParticleEmitter::load() #if BUILD_DEBUG && USE_EDITOR // Dump generated shader source to the temporary file + BinaryModule::Locker.Lock(); source.SaveToFile(Globals::ProjectCacheFolder / TEXT("particle_emitter.txt")); + BinaryModule::Locker.Unlock(); #endif // Encrypt source code