mirror of
https://github.com/godotengine/godot.git
synced 2024-11-27 09:16:35 +08:00
Merge pull request #98584 from Nazarwadim/emit_only_one_signal
Emit `filesystem_changed` only once per frame
This commit is contained in:
commit
a997001bd5
@ -2376,10 +2376,18 @@ void EditorFileSystem::update_files(const Vector<String> &p_script_paths) {
|
||||
if (!is_scanning()) {
|
||||
_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 {
|
||||
return valid_extensions;
|
||||
}
|
||||
|
@ -180,6 +180,7 @@ class EditorFileSystem : public Node {
|
||||
EditorFileSystemDirectory *new_filesystem = nullptr;
|
||||
ScannedDirectory *first_scan_root_dir = nullptr;
|
||||
|
||||
bool filesystem_changed_queued = false;
|
||||
bool scanning = false;
|
||||
bool importing = false;
|
||||
bool first_scan = true;
|
||||
@ -189,6 +190,7 @@ class EditorFileSystem : public Node {
|
||||
bool revalidate_import_files = false;
|
||||
int nb_files_total = 0;
|
||||
|
||||
void _notify_filesystem_changed();
|
||||
void _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);
|
||||
|
Loading…
Reference in New Issue
Block a user