Fix crash in SceneAnimationPlayer

This commit is contained in:
2023-09-28 21:49:39 +03:00
parent 58445f04c4
commit 96d880df6a
2 changed files with 2 additions and 2 deletions

View File

@@ -905,7 +905,7 @@ void SceneAnimationPlayer::Tick(SceneAnimation* anim, float time, float dt, int3
MException ex(exception); MException ex(exception);
ex.Log(LogType::Error, TEXT("Property")); ex.Log(LogType::Error, TEXT("Property"));
} }
else if (!MCore::Type::IsPointer(valueType)) else if (!MCore::Type::IsPointer(valueType) && !MCore::Type::IsReference(valueType))
{ {
if (boxed) if (boxed)
Platform::MemoryCopy(value, MCore::Object::Unbox(boxed), valueSize); Platform::MemoryCopy(value, MCore::Object::Unbox(boxed), valueSize);

View File

@@ -1230,7 +1230,7 @@ namespace FlaxEngine.Interop
internal static bool GetTypeIsReference(ManagedHandle typeHandle) internal static bool GetTypeIsReference(ManagedHandle typeHandle)
{ {
Type type = Unsafe.As<TypeHolder>(typeHandle.Target); Type type = Unsafe.As<TypeHolder>(typeHandle.Target);
return type.IsByRef; return !type.IsValueType; // Maybe also type.IsByRef?
} }
[UnmanagedCallersOnly] [UnmanagedCallersOnly]