aboutsummaryrefslogtreecommitdiff
path: root/tools/editor/editor_node.cpp
diff options
context:
space:
mode:
authorJuan Linietsky2016-01-23 18:28:30 -0300
committerJuan Linietsky2016-01-23 18:28:30 -0300
commit5ca338bab6d77f0c25c4321549bddd46b28e1f42 (patch)
tree6441dbb16cdb0b17681f40222134565a924817df /tools/editor/editor_node.cpp
parent784a3eeb90e392ca769a6be62a1a92e80a44188e (diff)
downloadgodot-5ca338bab6d77f0c25c4321549bddd46b28e1f42.tar.gz
godot-5ca338bab6d77f0c25c4321549bddd46b28e1f42.tar.zst
godot-5ca338bab6d77f0c25c4321549bddd46b28e1f42.zip
-Fixed revert scene, should work proprely now, fixes #2782
Diffstat (limited to '')
-rw-r--r--tools/editor/editor_node.cpp17
1 files changed, 15 insertions, 2 deletions
diff --git a/tools/editor/editor_node.cpp b/tools/editor/editor_node.cpp
index eae2d69dd..8d5f5e8ac 100644
--- a/tools/editor/editor_node.cpp
+++ b/tools/editor/editor_node.cpp
@@ -2367,7 +2367,14 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
if (!scene)
break;
-
+
+ String filename = scene->get_filename();
+
+ if (filename==String()) {
+ show_warning("Can't reload a scene that was never saved..");
+ break;
+ }
+
if (unsaved_cache && !p_confirmed) {
confirmation->get_ok()->set_text("Revert");
confirmation->set_text("This action cannot be undone. Revert anyway?");
@@ -2375,7 +2382,13 @@ void EditorNode::_menu_option_confirm(int p_option,bool p_confirmed) {
break;
}
- Error err = load_scene(scene->get_filename());
+
+ int cur_idx = editor_data.get_edited_scene();
+ _remove_edited_scene();
+ Error err = load_scene(filename);
+ editor_data.move_edited_scene_to_index(cur_idx);
+ get_undo_redo()->clear_history();
+ scene_tabs->set_current_tab(cur_idx);
} break;