From 6fecf1d58ac6478123ed7d1ad733f88cee38fd19 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Fri, 4 Oct 2024 15:58:05 +0200 Subject: [PATCH] Fix crash when setting static dotnet field from unmanaged code --- Source/Engine/Engine/NativeInterop.Unmanaged.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Engine/Engine/NativeInterop.Unmanaged.cs b/Source/Engine/Engine/NativeInterop.Unmanaged.cs index e3d66a2ef..71caee1e9 100644 --- a/Source/Engine/Engine/NativeInterop.Unmanaged.cs +++ b/Source/Engine/Engine/NativeInterop.Unmanaged.cs @@ -891,7 +891,7 @@ namespace FlaxEngine.Interop [UnmanagedCallersOnly] internal static void FieldSetValue(ManagedHandle fieldOwnerHandle, ManagedHandle fieldHandle, IntPtr valuePtr) { - object fieldOwner = fieldOwnerHandle.Target; + object fieldOwner = fieldOwnerHandle.IsAllocated ? fieldOwnerHandle.Target : null; FieldHolder field = Unsafe.As(fieldHandle.Target); object value = MarshalToManaged(valuePtr, field.field.FieldType); field.field.SetValue(fieldOwner, value);