diff --git a/modules/mono/glue/GodotSharp/GodotSharp/Core/NativeInterop/VariantUtils.cs b/modules/mono/glue/GodotSharp/GodotSharp/Core/NativeInterop/VariantUtils.cs index 464b5174281..94609984ac0 100644 --- a/modules/mono/glue/GodotSharp/GodotSharp/Core/NativeInterop/VariantUtils.cs +++ b/modules/mono/glue/GodotSharp/GodotSharp/Core/NativeInterop/VariantUtils.cs @@ -235,13 +235,28 @@ namespace Godot.NativeInterop } public static godot_variant CreateFromSystemArrayOfStringName(Span from) - => CreateFromArray(new Collections.Array(from)); + { + if (from == null) + return default; + using var fromGodot = new Collections.Array(from); + return CreateFromArray((godot_array)fromGodot.NativeValue); + } public static godot_variant CreateFromSystemArrayOfNodePath(Span from) - => CreateFromArray(new Collections.Array(from)); + { + if (from == null) + return default; + using var fromGodot = new Collections.Array(from); + return CreateFromArray((godot_array)fromGodot.NativeValue); + } public static godot_variant CreateFromSystemArrayOfRid(Span from) - => CreateFromArray(new Collections.Array(from)); + { + if (from == null) + return default; + using var fromGodot = new Collections.Array(from); + return CreateFromArray((godot_array)fromGodot.NativeValue); + } public static godot_variant CreateFromSystemArrayOfGodotObject(GodotObject[]? from) {