From 0ea00a09cabe4bf4c6797d47fd92c25ea4c1d986 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Thu, 19 Oct 2023 15:29:26 +0200 Subject: [PATCH] Fix regression from 3e7368b1cb31aedfa37d9cdae1d8612b08e99967 to remove scene lock when spawning actors in async #1743 --- Source/Engine/Level/Level.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Source/Engine/Level/Level.cpp b/Source/Engine/Level/Level.cpp index dfd5786c6..d7659ca1c 100644 --- a/Source/Engine/Level/Level.cpp +++ b/Source/Engine/Level/Level.cpp @@ -975,6 +975,7 @@ bool Level::loadScene(rapidjson_flax::Value& data, int32 engineBuild, Scene** ou SceneObject** objects = sceneObjects->Get(); if (context.Async) { + ScenesLock.Unlock(); // Unlock scenes from Main Thread so Job Threads can use it to safely setup actors hierarchy (see Actor::Deserialize) JobSystem::Execute([&](int32 i) { i++; // Start from 1. at index [0] was scene @@ -992,6 +993,7 @@ bool Level::loadScene(rapidjson_flax::Value& data, int32 engineBuild, Scene** ou else SceneObjectsFactory::HandleObjectDeserializationError(stream); }, objectsCount - 1); + ScenesLock.Lock(); } else {