Merge pull request #105082 from Delsin-Yu/dotnet-signalawaiter-alloc-opt

[.Net] Avoid array allocation when signal have 0 arg
This commit is contained in:
Thaddeus Crews 2025-04-07 08:43:34 -05:00
commit af2c713971
No known key found for this signature in database
GPG key ID: 8C6E5FEB5FC03CCC

View file

@ -48,12 +48,19 @@ namespace Godot
awaiter._completed = true;
Variant[] signalArgs = new Variant[argCount];
if (argCount > 0)
{
Variant[] signalArgs = new Variant[argCount];
for (int i = 0; i < argCount; i++)
signalArgs[i] = Variant.CreateCopyingBorrowed(*args[i]);
for (int i = 0; i < argCount; i++)
signalArgs[i] = Variant.CreateCopyingBorrowed(*args[i]);
awaiter._result = signalArgs;
awaiter._result = signalArgs;
}
else
{
awaiter._result = [];
}
awaiter._continuation?.Invoke();
}