From 652f8ccb8dc3f4df2bef5905216eb263e3c1ac3b Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Sun, 11 Jun 2023 15:05:14 +0200 Subject: [PATCH] Fix crash when reading field value from C# in AOT on iOS --- Source/Engine/Engine/NativeInterop.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Source/Engine/Engine/NativeInterop.cs b/Source/Engine/Engine/NativeInterop.cs index 4f9822570..f901a6708 100644 --- a/Source/Engine/Engine/NativeInterop.cs +++ b/Source/Engine/Engine/NativeInterop.cs @@ -524,7 +524,6 @@ namespace FlaxEngine.Interop } } } - throw new NativeInteropException($"Invalid field {field.Name} to marshal for type {typeof(T).Name}"); } @@ -624,7 +623,11 @@ namespace FlaxEngine.Interop fieldOffset += (fieldPtr - startPtr).ToInt32(); } +#if USE_AOT + TField fieldValueRef = (TField)field.GetValue(fieldOwner); +#else ref TField fieldValueRef = ref GetFieldReference(field, ref fieldOwner); +#endif MarshalHelperValueType.ToNative(ref fieldValueRef, fieldPtr); } }