From cfc90d1ddf91a38925517d0f5053b488f9f5e60f Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Sun, 13 Apr 2025 22:13:17 +0200 Subject: [PATCH] Fix crash in value comparison for deleted native scripting object that still has managed reference #3365 #3374 --- Source/Engine/Serialization/JsonSerializer.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Engine/Serialization/JsonSerializer.cs b/Source/Engine/Serialization/JsonSerializer.cs index c634f9eaa..de1556577 100644 --- a/Source/Engine/Serialization/JsonSerializer.cs +++ b/Source/Engine/Serialization/JsonSerializer.cs @@ -265,7 +265,7 @@ namespace FlaxEngine.Json // Special case when saving reference to prefab object and the objects are different but the point to the same prefab object // In that case, skip saving reference as it's defined in prefab (will be populated via IdsMapping during deserialization) - if (objA is SceneObject sceneA && objB is SceneObject sceneB && sceneA.HasPrefabLink && sceneB.HasPrefabLink) + if (objA is SceneObject sceneA && objB is SceneObject sceneB && sceneA && sceneB && sceneA.HasPrefabLink && sceneB.HasPrefabLink) return sceneA.PrefabObjectID == sceneB.PrefabObjectID; // Comparing an Int32 and Int64 both of the same value returns false, make types the same then compare