diff options
Diffstat (limited to 'scene')
| -rw-r--r-- | scene/main/node.cpp | 6 | ||||
| -rw-r--r-- | scene/main/node.h | 1 |
2 files changed, 6 insertions, 1 deletions
diff --git a/scene/main/node.cpp b/scene/main/node.cpp index f4fb48682c..78a5cb7302 100644 --- a/scene/main/node.cpp +++ b/scene/main/node.cpp @@ -172,7 +172,10 @@ void Node::_propagate_ready() { data.children[i]->_propagate_ready(); } data.blocked--; - notification(NOTIFICATION_READY); + if(!data.ready_notified) { + data.ready_notified=true; + notification(NOTIFICATION_READY); + } } @@ -2999,6 +3002,7 @@ Node::Node() { data.fixed_process=false; data.idle_process=false; data.inside_tree=false; + data.ready_notified=false; data.owner=NULL; data.OW=NULL; diff --git a/scene/main/node.h b/scene/main/node.h index f18dc81195..7b1444f607 100644 --- a/scene/main/node.h +++ b/scene/main/node.h @@ -103,6 +103,7 @@ private: StringName name; SceneTree *tree; bool inside_tree; + bool ready_notified; #ifdef TOOLS_ENABLED NodePath import_path; //path used when imported, used by scene editors to keep tracking #endif |