From 0c9431e7d7aaf73f15a4cb0005c0304e2309642b Mon Sep 17 00:00:00 2001 From: Ari Vuollet Date: Mon, 10 Aug 2026 20:26:47 +0300 Subject: [PATCH] Pass converted non-const lvalue reference parameters as temporaries --- Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cpp.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cpp.cs b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cpp.cs index c3d2efbd9..c8d73c559 100644 --- a/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cpp.cs +++ b/Source/Tools/Flax.Build/Bindings/BindingsGenerator.Cpp.cs @@ -1396,7 +1396,7 @@ namespace Flax.Build.Bindings else if (parameterInfo.Type.IsRef && !parameterInfo.Type.IsConst) { // Non-const lvalue reference parameters needs to be passed via temporary value - if (parameterInfo.Type.Type is "String" or "StringView" or "StringAnsi" or "StringAnsiView" && parameterInfo.Type.GenericArgs == null) + if (!string.IsNullOrWhiteSpace(CppParamsWrappersCache[i])) // Converted values contents.Append(indent).AppendFormat("{2} {0}Temp = {1};", parameterInfo.Name, param, parameterInfo.Type.ToString(false)).AppendLine(); else contents.Append(indent).AppendFormat("{2}& {0}Temp = {1};", parameterInfo.Name, param, parameterInfo.Type.ToString(false)).AppendLine();