mirror of
https://github.com/godotengine/godot.git
synced 2024-11-21 11:32:13 +00:00
Emit filesystem_changed only once per frame
This commit is contained in:
parent
61accf0605
commit
01d1f10845
@ -2376,10 +2376,18 @@ void EditorFileSystem::update_files(const Vector<String> &p_script_paths) {
|
|||||||
if (!is_scanning()) {
|
if (!is_scanning()) {
|
||||||
_process_update_pending();
|
_process_update_pending();
|
||||||
}
|
}
|
||||||
call_deferred(SNAME("emit_signal"), "filesystem_changed"); // Update later
|
if (!filesystem_changed_queued) {
|
||||||
|
filesystem_changed_queued = true;
|
||||||
|
callable_mp(this, &EditorFileSystem::_notify_filesystem_changed).call_deferred();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void EditorFileSystem::_notify_filesystem_changed() {
|
||||||
|
emit_signal("filesystem_changed");
|
||||||
|
filesystem_changed_queued = false;
|
||||||
|
}
|
||||||
|
|
||||||
HashSet<String> EditorFileSystem::get_valid_extensions() const {
|
HashSet<String> EditorFileSystem::get_valid_extensions() const {
|
||||||
return valid_extensions;
|
return valid_extensions;
|
||||||
}
|
}
|
||||||
|
@ -180,6 +180,7 @@ class EditorFileSystem : public Node {
|
|||||||
EditorFileSystemDirectory *new_filesystem = nullptr;
|
EditorFileSystemDirectory *new_filesystem = nullptr;
|
||||||
ScannedDirectory *first_scan_root_dir = nullptr;
|
ScannedDirectory *first_scan_root_dir = nullptr;
|
||||||
|
|
||||||
|
bool filesystem_changed_queued = false;
|
||||||
bool scanning = false;
|
bool scanning = false;
|
||||||
bool importing = false;
|
bool importing = false;
|
||||||
bool first_scan = true;
|
bool first_scan = true;
|
||||||
@ -189,6 +190,7 @@ class EditorFileSystem : public Node {
|
|||||||
bool revalidate_import_files = false;
|
bool revalidate_import_files = false;
|
||||||
int nb_files_total = 0;
|
int nb_files_total = 0;
|
||||||
|
|
||||||
|
void _notify_filesystem_changed();
|
||||||
void _scan_filesystem();
|
void _scan_filesystem();
|
||||||
void _first_scan_filesystem();
|
void _first_scan_filesystem();
|
||||||
void _first_scan_process_scripts(const ScannedDirectory *p_scan_dir, List<String> &p_gdextension_extensions, HashSet<String> &p_existing_class_names, HashSet<String> &p_extensions);
|
void _first_scan_process_scripts(const ScannedDirectory *p_scan_dir, List<String> &p_gdextension_extensions, HashSet<String> &p_existing_class_names, HashSet<String> &p_extensions);
|
||||||
|
Loading…
Reference in New Issue
Block a user