diff options
| author | Rémi Verschelde <remi@verschelde.fr> | 2021-01-03 13:37:42 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-03 13:37:42 +0100 |
| commit | 950dedbb6858458b5944523bf806e35eb4d6a5d8 (patch) | |
| tree | 0cc0057bc8c16cae43027d5213406ee3ab8bbda1 /editor/editor_node.cpp | |
| parent | 7a16efc88596caa5e794d1eb52c599d706b2457c (diff) | |
| parent | 1f4b1e1488551ad297ffa10379ebcbff9cdc764b (diff) | |
| download | redot-engine-950dedbb6858458b5944523bf806e35eb4d6a5d8.tar.gz | |
Merge pull request #42779 from volzhs/editor-file-dialog
Enhance editor file dialog
Diffstat (limited to 'editor/editor_node.cpp')
| -rw-r--r-- | editor/editor_node.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/editor/editor_node.cpp b/editor/editor_node.cpp index ecd79d005e..72d9aacef3 100644 --- a/editor/editor_node.cpp +++ b/editor/editor_node.cpp @@ -2313,7 +2313,7 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { int scene_idx = (p_option == FILE_SAVE_SCENE) ? -1 : tab_closing; Node *scene = editor_data.get_edited_scene_root(scene_idx); - if (scene && scene->get_filename() != "") { + if (scene && scene->get_filename() != "" && FileAccess::exists(scene->get_filename())) { if (scene_idx != editor_data.get_edited_scene()) { _save_scene_with_preview(scene->get_filename(), scene_idx); } else { @@ -2358,11 +2358,12 @@ void EditorNode::_menu_option_confirm(int p_option, bool p_confirmed) { } if (scene->get_filename() != "") { - file->set_current_path(scene->get_filename()); + String path = scene->get_filename(); + file->set_current_path(path); if (extensions.size()) { - String ext = scene->get_filename().get_extension().to_lower(); + String ext = path.get_extension().to_lower(); if (extensions.find(ext) == nullptr) { - file->set_current_path(scene->get_filename().replacen("." + ext, "." + extensions.front()->get())); + file->set_current_path(path.replacen("." + ext, "." + extensions.front()->get())); } } } else { |
