Fix false-positive error when interop structure has a additional memory size (alignment)

This commit is contained in:
Wojtek Figat
2023-05-25 00:12:54 +02:00
parent c2cd3b64ff
commit ad1c573678

View File

@@ -706,7 +706,7 @@ namespace FlaxEngine.Interop
MarshalHelper<T>.toManagedFieldMarshallers[i](MarshalHelper<T>.marshallableFields[i], ref managedValue, fieldPtr, out int fieldOffset);
fieldPtr += fieldOffset;
}
Assert.IsTrue((fieldPtr - nativePtr) == Unsafe.SizeOf<T>());
Assert.IsTrue((fieldPtr - nativePtr) <= Unsafe.SizeOf<T>());
}
else
managedValue = Unsafe.Read<T>(nativePtr.ToPointer());
@@ -745,7 +745,7 @@ namespace FlaxEngine.Interop
MarshalHelper<T>.toNativeFieldMarshallers[i](MarshalHelper<T>.marshallableFields[i], ref managedValue, nativePtr, out int fieldOffset);
nativePtr += fieldOffset;
}
Assert.IsTrue((nativePtr - fieldPtr) == Unsafe.SizeOf<T>());
Assert.IsTrue((nativePtr - fieldPtr) <= Unsafe.SizeOf<T>());
}
else
Unsafe.AsRef<T>(nativePtr.ToPointer()) = managedValue;