diff options
Diffstat (limited to 'scene/main')
-rw-r--r-- | scene/main/node.cpp | 10 |
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; |