Merge pull request #17589 from robfram/fix-always-save-at-run
Fix saving unmodified scenes and resources
This commit is contained in:
commit
d486973f58
1 changed files with 7 additions and 1 deletions
|
@ -604,6 +604,10 @@ void EditorNode::open_resource(const String &p_type) {
|
||||||
void EditorNode::save_resource_in_path(const Ref<Resource> &p_resource, const String &p_path) {
|
void EditorNode::save_resource_in_path(const Ref<Resource> &p_resource, const String &p_path) {
|
||||||
|
|
||||||
editor_data.apply_changes_in_editors();
|
editor_data.apply_changes_in_editors();
|
||||||
|
if (p_resource->get_last_modified_time() == p_resource->get_import_last_modified_time()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
int flg = 0;
|
int flg = 0;
|
||||||
if (EditorSettings::get_singleton()->get("filesystem/on_save/compress_binary_resources"))
|
if (EditorSettings::get_singleton()->get("filesystem/on_save/compress_binary_resources"))
|
||||||
flg |= ResourceSaver::FLAG_COMPRESS;
|
flg |= ResourceSaver::FLAG_COMPRESS;
|
||||||
|
@ -1089,7 +1093,8 @@ void EditorNode::_save_scene(String p_file, int idx) {
|
||||||
|
|
||||||
void EditorNode::_save_all_scenes() {
|
void EditorNode::_save_all_scenes() {
|
||||||
|
|
||||||
for (int i = 0; i < editor_data.get_edited_scene_count(); i++) {
|
int i = _next_unsaved_scene(true, 0);
|
||||||
|
while (i != -1) {
|
||||||
Node *scene = editor_data.get_edited_scene_root(i);
|
Node *scene = editor_data.get_edited_scene_root(i);
|
||||||
if (scene && scene->get_filename() != "") {
|
if (scene && scene->get_filename() != "") {
|
||||||
if (i != editor_data.get_edited_scene())
|
if (i != editor_data.get_edited_scene())
|
||||||
|
@ -1097,6 +1102,7 @@ void EditorNode::_save_all_scenes() {
|
||||||
else
|
else
|
||||||
_save_scene_with_preview(scene->get_filename());
|
_save_scene_with_preview(scene->get_filename());
|
||||||
} // else: ignore new scenes
|
} // else: ignore new scenes
|
||||||
|
i = _next_unsaved_scene(true, ++i);
|
||||||
}
|
}
|
||||||
|
|
||||||
_save_default_environment();
|
_save_default_environment();
|
||||||
|
|
Loading…
Reference in a new issue