summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2019-12-18 19:31:10 -0300
committerJuan Linietsky <reduzio@gmail.com>2019-12-18 19:32:00 -0300
commit28599e6c2092a1b4e5a9cd7a831efbaed479c3be (patch)
tree089d4f7c9992ff659ff2e0345e37c69a925c3ada
parent9cda7f73339f8899fa0a8d0a7ca9e9a002a202ce (diff)
Suggest use of deferred or oneshot on disconnect if the signal is locked. Closes #34443.
-rw-r--r--core/object.cpp2
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);