From f4f7e13388b3a37ae0ea1cb69894fb731c1bd1b7 Mon Sep 17 00:00:00 2001 From: A Thousand Ships <96648715+AThousandShips@users.noreply.github.com> Date: Wed, 31 Jan 2024 14:06:33 +0100 Subject: [PATCH] Make `GDScriptUtilityCallable` return call error when method is invalid --- modules/gdscript/gdscript_utility_callable.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/gdscript/gdscript_utility_callable.cpp b/modules/gdscript/gdscript_utility_callable.cpp index 74d2c477c229..7708a18044d2 100644 --- a/modules/gdscript/gdscript_utility_callable.cpp +++ b/modules/gdscript/gdscript_utility_callable.cpp @@ -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);