From 1e43b031ba32ed8d7d0784039b503c614d1bda8e Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Thu, 25 Jul 2024 16:50:01 +0200 Subject: [PATCH] Fix unpacking marshaled field value #2790 --- Source/Engine/Engine/NativeInterop.Unmanaged.cs | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/Source/Engine/Engine/NativeInterop.Unmanaged.cs b/Source/Engine/Engine/NativeInterop.Unmanaged.cs index 52218c2f4..62fd95117 100644 --- a/Source/Engine/Engine/NativeInterop.Unmanaged.cs +++ b/Source/Engine/Engine/NativeInterop.Unmanaged.cs @@ -850,11 +850,7 @@ namespace FlaxEngine.Interop { object fieldOwner = fieldOwnerHandle.Target; FieldHolder field = Unsafe.As(fieldHandle.Target); - object value = null; - if (field.field.FieldType.IsValueType) - value = Marshal.PtrToStructure(valuePtr, field.field.FieldType); - else if (valuePtr != IntPtr.Zero) - value = ManagedHandle.FromIntPtr(valuePtr).Target; + object value = MarshalToManaged(valuePtr, field.field.FieldType); field.field.SetValue(fieldOwner, value); }