summaryrefslogtreecommitdiff
path: root/scene/main/node.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scene/main/node.cpp')
-rw-r--r--scene/main/node.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/scene/main/node.cpp b/scene/main/node.cpp
index 78a5cb7302..bff3c3a089 100644
--- a/scene/main/node.cpp
+++ b/scene/main/node.cpp
@@ -166,16 +166,14 @@ void Node::_notification(int p_notification) {
void Node::_propagate_ready() {
+ data.ready_notified=true;
data.blocked++;
for (int i=0;i<data.children.size();i++) {
data.children[i]->_propagate_ready();
}
data.blocked--;
- if(!data.ready_notified) {
- data.ready_notified=true;
- notification(NOTIFICATION_READY);
- }
+ notification(NOTIFICATION_READY);
}
@@ -2665,7 +2663,9 @@ void Node::_set_tree(SceneTree *p_tree) {
_propagate_enter_tree();
- _propagate_ready(); //reverse_notification(NOTIFICATION_READY);
+ if (!data.parent || data.parent->data.ready_notified) { // No parent (root) or parent ready
+ _propagate_ready(); //reverse_notification(NOTIFICATION_READY);
+ }
tree_changed_b=data.tree;