diff options
-rw-r--r-- | core/ustring.cpp | 3 | ||||
-rw-r--r-- | editor/editor_file_dialog.cpp | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/core/ustring.cpp b/core/ustring.cpp index 6a1dc2295f..345db0eb13 100644 --- a/core/ustring.cpp +++ b/core/ustring.cpp @@ -3792,7 +3792,8 @@ bool String::is_valid_float() const { String String::path_to_file(const String &p_path) const { - String src = this->replace("\\", "/").get_base_dir(); + // Don't get base dir for src, this is expected to be a dir already. + String src = this->replace("\\", "/"); String dst = p_path.replace("\\", "/").get_base_dir(); String rel = src.path_to(dst); if (rel == dst) // failed diff --git a/editor/editor_file_dialog.cpp b/editor/editor_file_dialog.cpp index 7fc989b5e9..03da065658 100644 --- a/editor/editor_file_dialog.cpp +++ b/editor/editor_file_dialog.cpp @@ -958,6 +958,8 @@ String EditorFileDialog::get_current_path() const { } void EditorFileDialog::set_current_dir(const String &p_dir) { + if (p_dir.is_rel_path()) + dir_access->change_dir(OS::get_singleton()->get_resource_dir()); dir_access->change_dir(p_dir); update_dir(); invalidate(); |