Merge pull request #64961 from faisal-alam09/Bugfix-#64836-Placeholder-scene-tab-not-removed-when-new-scene-created

Added a placeholder tab check before creating a new scene.
This commit is contained in:
Rémi Verschelde 2022-08-28 18:06:44 +02:00 committed by GitHub
commit 006915b482
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -3702,6 +3702,18 @@ void EditorNode::fix_dependencies(const String &p_for_file) {
int EditorNode::new_scene() {
int idx = editor_data.add_edited_scene(-1);
// Remove placeholder empty scene.
if (editor_data.get_edited_scene_count() > 1) {
for (int i = 0; i < editor_data.get_edited_scene_count() - 1; i++) {
bool unsaved = get_undo_redo()->is_history_unsaved(editor_data.get_scene_history_id(i));
if (!unsaved && editor_data.get_scene_path(i).is_empty()) {
editor_data.remove_scene(i);
idx--;
}
}
}
idx = MAX(idx, 0);
_scene_tab_changed(idx);
editor_data.clear_editor_states();
_update_scene_tabs();