From ef540bc49892b00aaec10f5437d5ada0a2a2ec07 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Fri, 12 Jul 2024 17:14:51 +0200 Subject: [PATCH] Fix crash when drawing particle effect where one of the emitter assets is not yet loaded --- Source/Engine/Particles/Particles.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Source/Engine/Particles/Particles.cpp b/Source/Engine/Particles/Particles.cpp index 53c1ab4b1..262b74ca9 100644 --- a/Source/Engine/Particles/Particles.cpp +++ b/Source/Engine/Particles/Particles.cpp @@ -931,6 +931,8 @@ void Particles::DrawParticles(RenderContext& renderContext, ParticleEffect* effe if (!buffer || (buffer->Mode == ParticlesSimulationMode::CPU && buffer->CPU.Count == 0)) continue; auto emitter = buffer->Emitter; + if (!emitter || !emitter->IsLoaded()) + continue; buffer->Emitter->GraphExecutorCPU.Draw(buffer->Emitter, effect, emitterData, renderContext, worlds[(int32)emitter->SimulationSpace]); } @@ -949,6 +951,8 @@ void Particles::DrawParticles(RenderContext& renderContext, ParticleEffect* effe if (!buffer) continue; auto emitter = buffer->Emitter; + if (!emitter || !emitter->IsLoaded()) + continue; drawCall.World = worlds[(int32)emitter->SimulationSpace]; drawCall.WorldDeterminantSign = worldDeterminantSigns[(int32)emitter->SimulationSpace];