Przeglądaj źródła

Merge pull request #23245 from Alien1993/inherited_root_deletion

Fixed user being unable to delete root Node if is an inherited Scene
Rémi Verschelde 7 lat temu
rodzic
commit
0be20bba47
1 zmienionych plików z 7 dodań i 0 usunięć
  1. 7 0
      editor/scene_tree_dock.cpp

+ 7 - 0
editor/scene_tree_dock.cpp

@@ -1307,6 +1307,13 @@ bool SceneTreeDock::_validate_no_foreign() {
 			return false;
 		}
 
+		// When edited_scene inherits from another one the root Node will be the parent Scene,
+		// we don't want to consider that Node a foreign one otherwise we would not be able to
+		// delete it
+		if (edited_scene->get_scene_inherited_state().is_valid() && edited_scene == E->get()) {
+			continue;
+		}
+
 		if (edited_scene->get_scene_inherited_state().is_valid() && edited_scene->get_scene_inherited_state()->find_node_by_path(edited_scene->get_path_to(E->get())) >= 0) {
 
 			accept->set_text(TTR("Can't operate on nodes the current scene inherits from!"));