Fix crash when prefab root object failed to deserialize

This commit is contained in:
Wojtek Figat
2025-07-23 18:16:32 +02:00
parent 735d611de1
commit 6f172f8f2c

View File

@@ -721,8 +721,15 @@ void SceneObjectsFactory::SynchronizePrefabInstances(Context& context, PrefabSyn
if (instance.FixRootParent && JsonTools::GetGuidIfValid(prefabStartParentId, prefabStartData, "ParentID"))
{
auto* root = data.SceneObjects[instance.RootIndex];
const auto rootParent = Scripting::FindObject<Actor>(prefabStartParentId);
root->SetParent(rootParent, false);
if (root)
{
const auto rootParent = Scripting::FindObject<Actor>(prefabStartParentId);
root->SetParent(rootParent, false);
}
else
{
LOG(Warning, "Missing root actor at index {} for prefab instance at actor {} ({})", instance.RootIndex, instance.RootId, instance.Prefab->ToString());
}
}
}