You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-12 13:20:55 +00:00
Merge pull request #28140 from Daw11/orphan-nodes
Add a monitor for the orphan nodes
This commit is contained in:
@@ -41,6 +41,8 @@
|
||||
|
||||
VARIANT_ENUM_CAST(Node::PauseMode);
|
||||
|
||||
int Node::orphan_node_count = 0;
|
||||
|
||||
void Node::_notification(int p_notification) {
|
||||
|
||||
switch (p_notification) {
|
||||
@@ -84,11 +86,14 @@ void Node::_notification(int p_notification) {
|
||||
add_to_group("_vp_unhandled_key_input" + itos(get_viewport()->get_instance_id()));
|
||||
|
||||
get_tree()->node_count++;
|
||||
orphan_node_count--;
|
||||
|
||||
} break;
|
||||
case NOTIFICATION_EXIT_TREE: {
|
||||
|
||||
get_tree()->node_count--;
|
||||
orphan_node_count++;
|
||||
|
||||
if (data.input)
|
||||
remove_from_group("_vp_input" + itos(get_viewport()->get_instance_id()));
|
||||
if (data.unhandled_input)
|
||||
@@ -2938,6 +2943,8 @@ Node::Node() {
|
||||
data.use_placeholder = false;
|
||||
data.display_folded = false;
|
||||
data.ready_first = true;
|
||||
|
||||
orphan_node_count++;
|
||||
}
|
||||
|
||||
Node::~Node() {
|
||||
@@ -2948,6 +2955,8 @@ Node::~Node() {
|
||||
|
||||
ERR_FAIL_COND(data.parent);
|
||||
ERR_FAIL_COND(data.children.size());
|
||||
|
||||
orphan_node_count--;
|
||||
}
|
||||
|
||||
////////////////////////////////
|
||||
|
||||
Reference in New Issue
Block a user