summaryrefslogtreecommitdiffstats
path: root/editor/editor_file_system.cpp
diff options
context:
space:
mode:
authorClay John <claynjohn@gmail.com>2024-10-30 14:47:15 -0700
committerGitHub <noreply@github.com>2024-10-30 14:47:15 -0700
commita997001bd5a6bdec4e1b4480c3b247bfcc0ff85c (patch)
treea1c9947947a5d476e6cb413e5d05e091f91ed155 /editor/editor_file_system.cpp
parent8004c7524fb9f43425c4d6f614410a76678e0f7c (diff)
parent01d1f10845239109783ed462fea869363d42caba (diff)
downloadredot-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.cpp10
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;
}