From 219ad40088484b4048ec23773d09d18cebec3447 Mon Sep 17 00:00:00 2001 From: Wojciech Figat Date: Tue, 27 Dec 2022 13:50:11 +0100 Subject: [PATCH] Fix exception when using null version object for marshalling into native data --- Source/Engine/Scripting/Scripting.cs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/Source/Engine/Scripting/Scripting.cs b/Source/Engine/Scripting/Scripting.cs index 4a9276a83..80cdf3fa2 100644 --- a/Source/Engine/Scripting/Scripting.cs +++ b/Source/Engine/Scripting/Scripting.cs @@ -218,10 +218,20 @@ namespace FlaxEngine internal static void VersionToNative(IntPtr versionHandle, IntPtr nativePtr) { Version version = (Version)GCHandle.FromIntPtr(versionHandle).Target; - Marshal.WriteInt32(nativePtr, 0, version.Major); - Marshal.WriteInt32(nativePtr, 4, version.Minor); - Marshal.WriteInt32(nativePtr, 8, version.Build); - Marshal.WriteInt32(nativePtr, 12, version.Revision); + if (version != null) + { + Marshal.WriteInt32(nativePtr, 0, version.Major); + Marshal.WriteInt32(nativePtr, 4, version.Minor); + Marshal.WriteInt32(nativePtr, 8, version.Build); + Marshal.WriteInt32(nativePtr, 12, version.Revision); + } + else + { + Marshal.WriteInt32(nativePtr, 0, 0); + Marshal.WriteInt32(nativePtr, 4, 0); + Marshal.WriteInt32(nativePtr, 8, -1); + Marshal.WriteInt32(nativePtr, 12, -1); + } } private static void CreateGuiStyle()