Browse Source

Make `GDScriptUtilityCallable` return call error when method is invalid

A Thousand Ships 1 year ago
parent
commit
f4f7e13388
1 changed files with 4 additions and 1 deletions
  1. 4 1
      modules/gdscript/gdscript_utility_callable.cpp

+ 4 - 1
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);