You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-07 12:30:27 +00:00
Merge pull request #16016 from neikeq/issue-13316
Fix CSharpInstance::call not initializing CallError
This commit is contained in:
@@ -1133,10 +1133,13 @@ Variant CSharpInstance::call(const StringName &p_method, const Variant **p_args,
|
|||||||
|
|
||||||
MonoObject *mono_object = get_mono_object();
|
MonoObject *mono_object = get_mono_object();
|
||||||
|
|
||||||
ERR_FAIL_NULL_V(mono_object, Variant());
|
if (!mono_object) {
|
||||||
|
r_error.error = Variant::CallError::CALL_ERROR_INSTANCE_IS_NULL;
|
||||||
|
ERR_FAIL_V(Variant());
|
||||||
|
}
|
||||||
|
|
||||||
if (!script.is_valid())
|
if (!script.is_valid())
|
||||||
return Variant();
|
ERR_FAIL_V(Variant());
|
||||||
|
|
||||||
GDMonoClass *top = script->script_class;
|
GDMonoClass *top = script->script_class;
|
||||||
|
|
||||||
@@ -1146,6 +1149,8 @@ Variant CSharpInstance::call(const StringName &p_method, const Variant **p_args,
|
|||||||
if (method) {
|
if (method) {
|
||||||
MonoObject *return_value = method->invoke(mono_object, p_args);
|
MonoObject *return_value = method->invoke(mono_object, p_args);
|
||||||
|
|
||||||
|
r_error.error = Variant::CallError::CALL_OK;
|
||||||
|
|
||||||
if (return_value) {
|
if (return_value) {
|
||||||
return GDMonoMarshal::mono_object_to_variant(return_value);
|
return GDMonoMarshal::mono_object_to_variant(return_value);
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
Reference in New Issue
Block a user