File tree Expand file tree Collapse file tree 2 files changed +19
-2
lines changed
Expand file tree Collapse file tree 2 files changed +19
-2
lines changed Original file line number Diff line number Diff line change @@ -410,7 +410,14 @@ void EditorFileDialog::update_dir() {
410410}
411411
412412void EditorFileDialog::_dir_submitted (const String &p_dir) {
413- dir_access->change_dir (p_dir);
413+ String new_dir = p_dir;
414+ #ifdef WINDOWS_ENABLED
415+ if (drives->is_visible () && !new_dir.is_network_share_path () && new_dir.is_absolute_path () && new_dir.find (" :/" ) == -1 && new_dir.find (" :\\ " ) == -1 ) {
416+ // Non network path without X:/ prefix on Windows, add drive letter.
417+ new_dir = drives->get_item_text (drives->get_selected ()).path_join (new_dir);
418+ }
419+ #endif
420+ dir_access->change_dir (new_dir);
414421 invalidate ();
415422 update_dir ();
416423 _push_history ();
Original file line number Diff line number Diff line change @@ -398,7 +398,17 @@ void FileDialog::update_dir() {
398398}
399399
400400void FileDialog::_dir_submitted (String p_dir) {
401- _change_dir (root_prefix.path_join (p_dir));
401+ String new_dir = p_dir;
402+ #ifdef WINDOWS_ENABLED
403+ if (root_prefix.is_empty () && drives->is_visible () && !new_dir.is_network_share_path () && new_dir.is_absolute_path () && new_dir.find (" :/" ) == -1 && new_dir.find (" :\\ " ) == -1 ) {
404+ // Non network path without X:/ prefix on Windows, add drive letter.
405+ new_dir = drives->get_item_text (drives->get_selected ()).path_join (new_dir);
406+ }
407+ #endif
408+ if (!root_prefix.is_empty ()) {
409+ new_dir = root_prefix.path_join (new_dir);
410+ }
411+ _change_dir (new_dir);
402412 file->set_text (" " );
403413 _push_history ();
404414}
You can’t perform that action at this time.
0 commit comments