summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPoommetee Ketson <poommetee@protonmail.com>2017-08-28 23:53:52 +0700
committerPoommetee Ketson <poommetee@protonmail.com>2017-08-29 07:27:18 +0700
commitd25ea73822d7391da4d2c8746fb244c892ee6e92 (patch)
tree4f86193557be50f942f12bc61a22de29d4113b22
parent8fce79aaeef3788bed170f07fc728e25f66e4a20 (diff)
EditorNode: fix scene save over others
-rw-r--r--editor/editor_node.cpp17
1 files changed, 12 insertions, 5 deletions
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp
index c376efca34..a8edeca931 100644
--- a/editor/editor_node.cpp
+++ b/editor/editor_node.cpp
@@ -908,8 +908,10 @@ void EditorNode::_save_all_scenes() {
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() != "") {
- // save in background if in the script editor
- _save_scene_with_preview(scene->get_filename());
+ if (i != editor_data.get_edited_scene())
+ _save_scene(scene->get_filename(), i);
+ else
+ _save_scene_with_preview(scene->get_filename());
} // else: ignore new scenes
}
@@ -983,7 +985,10 @@ void EditorNode::_dialog_action(String p_file) {
if (file->get_mode() == EditorFileDialog::MODE_SAVE_FILE) {
_save_default_environment();
- _save_scene_with_preview(p_file);
+ if (scene_idx != editor_data.get_edited_scene())
+ _save_scene(p_file, scene_idx);
+ else
+ _save_scene_with_preview(p_file);
if (scene_idx != -1)
_discard_changes();
@@ -1660,8 +1665,10 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) {
Node *scene = editor_data.get_edited_scene_root(scene_idx);
if (scene && scene->get_filename() != "") {
- // save in background if in the script editor
- _save_scene_with_preview(scene->get_filename());
+ if (scene_idx != editor_data.get_edited_scene())
+ _save_scene(scene->get_filename(), scene_idx);
+ else
+ _save_scene_with_preview(scene->get_filename());
if (scene_idx != -1)
_discard_changes();