1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-05 12:10:55 +00:00

FileSystem: Force update when we delete a folder from the editor and searching changes only if we change the directory successfully in the scan_fs_changes

(cherry picked from commit dc76938679)
This commit is contained in:
Mateo Kuruk Miccino
2021-02-27 17:43:26 -03:00
committed by Rémi Verschelde
parent 93cb416423
commit 71a9932f38
3 changed files with 15 additions and 3 deletions

View File

@@ -68,6 +68,11 @@ int EditorFileSystemDirectory::find_dir_index(const String &p_dir) const {
return -1;
}
void EditorFileSystemDirectory::force_update() {
// We set modified_time to 0 to force `EditorFileSystem::_scan_fs_changes` to search changes in the directory
modified_time = 0;
}
int EditorFileSystemDirectory::get_subdir_count() const {
return subdirs.size();
@@ -870,9 +875,11 @@ void EditorFileSystem::_scan_fs_changes(EditorFileSystemDirectory *p_dir, const
//then scan files and directories and check what's different
DirAccess *da = DirAccess::create(DirAccess::ACCESS_RESOURCES);
DirAccessRef da = DirAccess::create(DirAccess::ACCESS_RESOURCES);
Error ret = da->change_dir(cd);
ERR_FAIL_COND_MSG(ret != OK, "Cannot change to '" + cd + "' folder.");
da->change_dir(cd);
da->list_dir_begin();
while (true) {
@@ -958,7 +965,6 @@ void EditorFileSystem::_scan_fs_changes(EditorFileSystemDirectory *p_dir, const
}
da->list_dir_end();
memdelete(da);
}
for (int i = 0; i < p_dir->files.size(); i++) {