diff options
author | Juan Linietsky <reduzio@gmail.com> | 2019-12-18 19:31:10 -0300 |
---|---|---|
committer | Juan Linietsky <reduzio@gmail.com> | 2019-12-18 19:32:00 -0300 |
commit | 28599e6c2092a1b4e5a9cd7a831efbaed479c3be (patch) | |
tree | 089d4f7c9992ff659ff2e0345e37c69a925c3ada | |
parent | 9cda7f73339f8899fa0a8d0a7ca9e9a002a202ce (diff) |
Suggest use of deferred or oneshot on disconnect if the signal is locked. Closes #34443.
-rw-r--r-- | core/object.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/core/object.cpp b/core/object.cpp index e1bc4b97f0..b643aecdd8 100644 --- a/core/object.cpp +++ b/core/object.cpp @@ -1519,7 +1519,7 @@ void Object::_disconnect(const StringName &p_signal, Object *p_to_object, const Signal *s = signal_map.getptr(p_signal); ERR_FAIL_COND_MSG(!s, "Nonexistent signal: " + p_signal + "."); - ERR_FAIL_COND_MSG(s->lock > 0, "Attempt to disconnect signal '" + p_signal + "' while emitting (locks: " + itos(s->lock) + ")."); + ERR_FAIL_COND_MSG(s->lock > 0, "Attempt to disconnect signal '" + p_signal + "' while in emission callback. Use CONNECT_DEFERRED (to be able to safely disconnect) or CONNECT_ONESHOT (for automatic disconnection) as connection flags."); Signal::Target target(p_to_object->get_instance_id(), p_to_method); |