Fixed method not found error when connecting with signal that fires in editor
Fixed method not found error when connecting with signal that fires in editor. This is a better solution to the problem than #22033. As discussed on IRC This properly fixes #13070 then.
This commit is contained in:
parent
561a7772c6
commit
992a5892f1
1 changed files with 4 additions and 1 deletions
|
@ -1254,7 +1254,10 @@ Error Object::emit_signal(const StringName &p_name, const Variant **p_args, int
|
||||||
target->call(c.method, args, argc, ce);
|
target->call(c.method, args, argc, ce);
|
||||||
|
|
||||||
if (ce.error != Variant::CallError::CALL_OK) {
|
if (ce.error != Variant::CallError::CALL_OK) {
|
||||||
|
#ifdef DEBUG_ENABLED
|
||||||
|
if (c.flags & CONNECT_PERSIST && Engine::get_singleton()->is_editor_hint() && (script.is_null() || !Ref<Script>(script)->is_tool()))
|
||||||
|
continue;
|
||||||
|
#endif
|
||||||
if (ce.error == Variant::CallError::CALL_ERROR_INVALID_METHOD && !ClassDB::class_exists(target->get_class_name())) {
|
if (ce.error == Variant::CallError::CALL_ERROR_INVALID_METHOD && !ClassDB::class_exists(target->get_class_name())) {
|
||||||
//most likely object is not initialized yet, do not throw error.
|
//most likely object is not initialized yet, do not throw error.
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue