diff --git a/Source/Engine/Engine/NativeInterop.Marshallers.cs b/Source/Engine/Engine/NativeInterop.Marshallers.cs index 0f7d238bc..3ea8a5faa 100644 --- a/Source/Engine/Engine/NativeInterop.Marshallers.cs +++ b/Source/Engine/Engine/NativeInterop.Marshallers.cs @@ -395,18 +395,17 @@ namespace FlaxEngine.Interop { if (managed is null) return; - sourceArray = managed; (managedHandle, managedArray) = ManagedArray.AllocatePooledArray(managed.Length); } public ReadOnlySpan GetManagedValuesSource() => sourceArray; - public Span GetUnmanagedValuesDestination() => managedArray.ToSpan(); + public Span GetUnmanagedValuesDestination() => managedArray != null ? managedArray.ToSpan() : Span.Empty; public TUnmanagedElement* ToUnmanaged() => (TUnmanagedElement*)ManagedHandle.ToIntPtr(managedHandle); - public void Free() => managedArray.FreePooled(); + public void Free() => managedArray?.FreePooled(); } #if FLAX_EDITOR