Browse Source

Merge pull request #87682 from zaevi/fix_csharp_stringname_ref

C#: Fix issues for StringName reference in `CSharpInstanceBridge.Get`.
Rémi Verschelde 1 year ago
parent
commit
24a2560d30

+ 2 - 2
modules/mono/glue/GodotSharp/GodotSharp/Core/Bridge/CSharpInstanceBridge.cs

@@ -94,7 +94,7 @@ namespace Godot.Bridge
                 // Signals
                 // Signals
                 if (godotObject.HasGodotClassSignal(CustomUnsafe.AsRef(name)))
                 if (godotObject.HasGodotClassSignal(CustomUnsafe.AsRef(name)))
                 {
                 {
-                    godot_signal signal = new godot_signal(*name, godotObject.GetInstanceId());
+                    godot_signal signal = new godot_signal(NativeFuncs.godotsharp_string_name_new_copy(*name), godotObject.GetInstanceId());
                     *outRet = VariantUtils.CreateFromSignalTakingOwnershipOfDisposableValue(signal);
                     *outRet = VariantUtils.CreateFromSignalTakingOwnershipOfDisposableValue(signal);
                     return godot_bool.True;
                     return godot_bool.True;
                 }
                 }
@@ -102,7 +102,7 @@ namespace Godot.Bridge
                 // Methods
                 // Methods
                 if (godotObject.HasGodotClassMethod(CustomUnsafe.AsRef(name)))
                 if (godotObject.HasGodotClassMethod(CustomUnsafe.AsRef(name)))
                 {
                 {
-                    godot_callable method = new godot_callable(*name, godotObject.GetInstanceId());
+                    godot_callable method = new godot_callable(NativeFuncs.godotsharp_string_name_new_copy(*name), godotObject.GetInstanceId());
                     *outRet = VariantUtils.CreateFromCallableTakingOwnershipOfDisposableValue(method);
                     *outRet = VariantUtils.CreateFromCallableTakingOwnershipOfDisposableValue(method);
                     return godot_bool.True;
                     return godot_bool.True;
                 }
                 }