diff options
author | Rémi Verschelde <remi@verschelde.fr> | 2022-03-28 12:20:15 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-03-28 12:20:15 +0200 |
commit | 8e7d2826d818cbf8915759d86e58df0ba3a193b5 (patch) | |
tree | 422cc51aba48e57375e8482b08075330dc516b2c | |
parent | 01f34495bf261a64a790e6f71a14a445fc3f474c (diff) | |
parent | 0535ef549a6563e374c95ff9bdf6171117a59e6a (diff) |
Merge pull request #59453 from DanielKriz/master
-rw-r--r-- | editor/editor_file_dialog.cpp | 12 | ||||
-rw-r--r-- | editor/filesystem_dock.cpp | 13 |
2 files changed, 25 insertions, 0 deletions
diff --git a/editor/editor_file_dialog.cpp b/editor/editor_file_dialog.cpp index fe19e73db9..ab403c4212 100644 --- a/editor/editor_file_dialog.cpp +++ b/editor/editor_file_dialog.cpp @@ -1308,6 +1308,18 @@ void EditorFileDialog::_update_favorites() { favorite->set_pressed(false); Vector<String> favorited = EditorSettings::get_singleton()->get_favorites(); + + bool fav_changed = false; + for (int i = favorited.size() - 1; i >= 0; i--) { + if (!dir_access->dir_exists(favorited[i])) { + favorited.remove_at(i); + fav_changed = true; + } + } + if (fav_changed) { + EditorSettings::get_singleton()->set_favorites(favorited); + } + for (int i = 0; i < favorited.size(); i++) { bool cres = favorited[i].begins_with("res://"); if (cres != res) { diff --git a/editor/filesystem_dock.cpp b/editor/filesystem_dock.cpp index 2100a787c8..ee7ed77957 100644 --- a/editor/filesystem_dock.cpp +++ b/editor/filesystem_dock.cpp @@ -224,6 +224,19 @@ void FileSystemDock::_update_tree(const Vector<String> &p_uncollapsed_paths, boo favorites->set_collapsed(p_uncollapsed_paths.find("Favorites") < 0); Vector<String> favorite_paths = EditorSettings::get_singleton()->get_favorites(); + + DirAccessRef da = DirAccess::create(DirAccess::ACCESS_RESOURCES); + bool fav_changed = false; + for (int i = favorite_paths.size() - 1; i >= 0; i--) { + if (!da->dir_exists(favorite_paths[i])) { + favorite_paths.remove_at(i); + fav_changed = true; + } + } + if (fav_changed) { + EditorSettings::get_singleton()->set_favorites(favorite_paths); + } + for (int i = 0; i < favorite_paths.size(); i++) { String fave = favorite_paths[i]; if (!fave.begins_with("res://")) { |