Make `GDScriptUtilityCallable` return call error when method is invalid

This commit is contained in:
A Thousand Ships 2024-01-31 14:06:33 +01:00
parent 9adb7c7d13
commit f4f7e13388
No known key found for this signature in database
GPG Key ID: 2033189A662F8BD7
1 changed files with 4 additions and 1 deletions

View File

@ -83,7 +83,10 @@ ObjectID GDScriptUtilityCallable::get_object() const {
void GDScriptUtilityCallable::call(const Variant **p_arguments, int p_argcount, Variant &r_return_value, Callable::CallError &r_call_error) const {
switch (type) {
case TYPE_INVALID:
ERR_PRINT(vformat(R"(Trying to call invalid utility function "%s".)", function_name));
r_return_value = vformat(R"(Trying to call invalid utility function "%s".)", function_name);
r_call_error.error = Callable::CallError::CALL_ERROR_INVALID_METHOD;
r_call_error.argument = 0;
r_call_error.expected = 0;
break;
case TYPE_GLOBAL:
Variant::call_utility_function(function_name, &r_return_value, p_arguments, p_argcount, r_call_error);