diff options
author | Clay John <claynjohn@gmail.com> | 2024-10-30 14:47:15 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-10-30 14:47:15 -0700 |
commit | a997001bd5a6bdec4e1b4480c3b247bfcc0ff85c (patch) | |
tree | a1c9947947a5d476e6cb413e5d05e091f91ed155 /editor/editor_file_system.cpp | |
parent | 8004c7524fb9f43425c4d6f614410a76678e0f7c (diff) | |
parent | 01d1f10845239109783ed462fea869363d42caba (diff) | |
download | redot-engine-a997001bd5a6bdec4e1b4480c3b247bfcc0ff85c.tar.gz |
Merge pull request #98584 from Nazarwadim/emit_only_one_signal
Emit `filesystem_changed` only once per frame
Diffstat (limited to 'editor/editor_file_system.cpp')
-rw-r--r-- | editor/editor_file_system.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/editor/editor_file_system.cpp b/editor/editor_file_system.cpp index 50595ec7a6..cd02482bc7 100644 --- a/editor/editor_file_system.cpp +++ b/editor/editor_file_system.cpp @@ -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; } |