diff options
author | Bojidar Marinov <bojidar.marinov.bg@gmail.com> | 2016-11-17 18:46:45 +0200 |
---|---|---|
committer | Bojidar Marinov <bojidar.marinov.bg@gmail.com> | 2016-11-17 18:46:45 +0200 |
commit | b6eab006dbd21d25a664486809109fffa9533124 (patch) | |
tree | e65a8e4deabe0715d9e81e544f4895d2c0f8534c /scene | |
parent | 184173a9b993c145a2782d9e2488b98221c749e1 (diff) |
Do not emit NOTIFICATION_READY more than once (breaking change)
Currently, there is no notification with the old behaviour, so probably breaks all cpp code relying on that notification as well.
Diffstat (limited to 'scene')
-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 bff3c3a089..78a5cb7302 100644 --- a/scene/main/node.cpp +++ b/scene/main/node.cpp @@ -166,14 +166,16 @@ 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--; - notification(NOTIFICATION_READY); + if(!data.ready_notified) { + data.ready_notified=true; + notification(NOTIFICATION_READY); + } } @@ -2663,9 +2665,7 @@ void Node::_set_tree(SceneTree *p_tree) { _propagate_enter_tree(); - if (!data.parent || data.parent->data.ready_notified) { // No parent (root) or parent ready - _propagate_ready(); //reverse_notification(NOTIFICATION_READY); - } + _propagate_ready(); //reverse_notification(NOTIFICATION_READY); tree_changed_b=data.tree; |