Fix crash when setting static dotnet field from unmanaged code

This commit is contained in:
Wojtek Figat
2024-10-04 15:58:05 +02:00
parent adbe578aa1
commit 777e65c170

View File

@@ -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<FieldHolder>(fieldHandle.Target);
object value = MarshalToManaged(valuePtr, field.field.FieldType);
field.field.SetValue(fieldOwner, value);