diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml
index 77662cfd1..132135e43 100644
--- a/doc/classes/Node.xml
+++ b/doc/classes/Node.xml
@@ -747,12 +747,14 @@
Emitted when a child node enters the scene tree, either because it entered on its own or because this node entered with it.
+ This signal is emitted [i]after[/i] the child node's own [constant NOTIFICATION_ENTER_TREE] and [signal tree_entered].
-
+
- Emitted when a child node exits the scene tree, either because it exited on its own or because this node exited.
+ Emitted when a child node is about to exit the scene tree, either because it is being removed or freed directly, or because this node is exiting the tree.
+ When this signal is received, the child [code]node[/code] is still in the tree and valid. This signal is emitted [i]after[/i] the child node's own [signal tree_exiting] and [constant NOTIFICATION_EXIT_TREE].
@@ -768,6 +770,7 @@
Emitted when the node enters the tree.
+ This signal is emitted [i]after[/i] the related [constant NOTIFICATION_ENTER_TREE] notification.
@@ -778,15 +781,18 @@
Emitted when the node is still active but about to exit the tree. This is the right place for de-initialization (or a "destructor", if you will).
+ This signal is emitted [i]before[/i] the related [constant NOTIFICATION_EXIT_TREE] notification.
Notification received when the node enters a [SceneTree].
+ This notification is emitted [i]before[/i] the related [signal tree_entered].
Notification received when the node is about to exit a [SceneTree].
+ This notification is emitted [i]after[/i] the related [signal tree_exiting].
Notification received when the node is moved in the parent.
diff --git a/scene/main/node.cpp b/scene/main/node.cpp
index 4b6609e03..1f4bdb068 100644
--- a/scene/main/node.cpp
+++ b/scene/main/node.cpp
@@ -375,7 +375,7 @@ void Node::_propagate_exit_tree() {
if (data.parent) {
Variant c = this;
const Variant *cptr = &c;
- data.parent->emit_signal(SceneStringNames::get_singleton()->child_exited_tree, &cptr, 1);
+ data.parent->emit_signal(SceneStringNames::get_singleton()->child_exiting_tree, &cptr, 1);
}
// exit groups
@@ -3155,7 +3155,7 @@ void Node::_bind_methods() {
ADD_SIGNAL(MethodInfo("tree_exiting"));
ADD_SIGNAL(MethodInfo("tree_exited"));
ADD_SIGNAL(MethodInfo("child_entered_tree", PropertyInfo(Variant::OBJECT, "node", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT, "Node")));
- ADD_SIGNAL(MethodInfo("child_exited_tree", PropertyInfo(Variant::OBJECT, "node", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT, "Node")));
+ ADD_SIGNAL(MethodInfo("child_exiting_tree", PropertyInfo(Variant::OBJECT, "node", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_DEFAULT, "Node")));
ADD_PROPERTY(PropertyInfo(Variant::INT, "pause_mode", PROPERTY_HINT_ENUM, "Inherit,Stop,Process"), "set_pause_mode", "get_pause_mode");
diff --git a/scene/scene_string_names.cpp b/scene/scene_string_names.cpp
index 932710427..c6485210b 100644
--- a/scene/scene_string_names.cpp
+++ b/scene/scene_string_names.cpp
@@ -52,7 +52,7 @@ SceneStringNames::SceneStringNames() {
tree_exited = StaticCString::create("tree_exited");
ready = StaticCString::create("ready");
child_entered_tree = StaticCString::create("child_entered_tree");
- child_exited_tree = StaticCString::create("child_exited_tree");
+ child_exiting_tree = StaticCString::create("child_exiting_tree");
item_rect_changed = StaticCString::create("item_rect_changed");
size_flags_changed = StaticCString::create("size_flags_changed");
minimum_size_changed = StaticCString::create("minimum_size_changed");
diff --git a/scene/scene_string_names.h b/scene/scene_string_names.h
index f003858cd..3adba039e 100644
--- a/scene/scene_string_names.h
+++ b/scene/scene_string_names.h
@@ -71,7 +71,7 @@ public:
StringName tree_exited;
StringName ready;
StringName child_entered_tree;
- StringName child_exited_tree;
+ StringName child_exiting_tree;
StringName size_flags_changed;
StringName minimum_size_changed;
StringName sleeping_state_changed;