From 3149eabdc04d830196f5764744faa2e9be2897be Mon Sep 17 00:00:00 2001 From: Matthew Newall Date: Tue, 12 Oct 2021 10:14:02 +0000 Subject: [PATCH] Fixed editor attempting to save a blank scene with save all scenes (cherry picked from commit e10d0d76bc75a9a3945fa968adb647f36b411825) --- editor/editor_node.cpp | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index 55112975ef3..f68ae39976e 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -1611,19 +1611,25 @@ void EditorNode::restart_editor() { } void EditorNode::_save_all_scenes() { + bool all_saved = true; for (int i = 0; i < editor_data.get_edited_scene_count(); i++) { Node *scene = editor_data.get_edited_scene_root(i); - if (scene && scene->get_filename() != "" && DirAccess::exists(scene->get_filename().get_base_dir())) { - if (i != editor_data.get_edited_scene()) { - _save_scene(scene->get_filename(), i); + if (scene) { + if (scene->get_filename() != "" && DirAccess::exists(scene->get_filename().get_base_dir())) { + if (i != editor_data.get_edited_scene()) { + _save_scene(scene->get_filename(), i); + } else { + _save_scene_with_preview(scene->get_filename()); + } } else { - _save_scene_with_preview(scene->get_filename()); + all_saved = false; } - } else { - show_warning(TTR("Could not save one or more scenes!"), TTR("Save All Scenes")); } } + if (!all_saved) { + show_warning(TTR("Could not save one or more scenes!"), TTR("Save All Scenes")); + } _save_default_environment(); }