Fix crash when reading field value from C# in AOT on iOS

This commit is contained in:
Wojtek Figat
2023-06-11 15:05:14 +02:00
parent 26f4574358
commit 652f8ccb8d

View File

@@ -524,7 +524,6 @@ namespace FlaxEngine.Interop
} }
} }
} }
throw new NativeInteropException($"Invalid field {field.Name} to marshal for type {typeof(T).Name}"); 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(); fieldOffset += (fieldPtr - startPtr).ToInt32();
} }
#if USE_AOT
TField fieldValueRef = (TField)field.GetValue(fieldOwner);
#else
ref TField fieldValueRef = ref GetFieldReference<TField>(field, ref fieldOwner); ref TField fieldValueRef = ref GetFieldReference<TField>(field, ref fieldOwner);
#endif
MarshalHelperValueType<TField>.ToNative(ref fieldValueRef, fieldPtr); MarshalHelperValueType<TField>.ToNative(ref fieldValueRef, fieldPtr);
} }
} }