diff --git a/editor/scene_tree_editor.cpp b/editor/scene_tree_editor.cpp index 276ee60ead..0b649321c6 100644 --- a/editor/scene_tree_editor.cpp +++ b/editor/scene_tree_editor.cpp @@ -655,8 +655,6 @@ bool SceneTreeEditor::_update_filter(TreeItem *p_parent, bool p_scroll_to_select } } } - } else { - memdelete(p_parent); } if (editor_selection) { @@ -673,6 +671,11 @@ bool SceneTreeEditor::_update_filter(TreeItem *p_parent, bool p_scroll_to_select } } + if (!(keep_for_children || keep)) { + memdelete(p_parent); + return false; + } + return keep || keep_for_children; }