diff --git a/editor/editor_file_system.cpp b/editor/editor_file_system.cpp index 9fbe7ba65589..5021b814ea5d 100644 --- a/editor/editor_file_system.cpp +++ b/editor/editor_file_system.cpp @@ -1183,7 +1183,7 @@ void EditorFileSystem::_thread_func_sources(void *_userdata) { sp.low = 0; efs->_scan_fs_changes(efs->filesystem, sp); } - efs->scanning_changes_done = true; + efs->scanning_changes_done.set(); } void EditorFileSystem::scan_changes() { @@ -1197,7 +1197,7 @@ void EditorFileSystem::scan_changes() { _update_extensions(); sources_changed.clear(); scanning_changes = true; - scanning_changes_done = false; + scanning_changes_done.clear(); if (!use_threads) { if (filesystem) { @@ -1216,7 +1216,7 @@ void EditorFileSystem::scan_changes() { } } scanning_changes = false; - scanning_changes_done = true; + scanning_changes_done.set(); emit_signal(SNAME("sources_changed"), sources_changed.size() > 0); } else { ERR_FAIL_COND(thread_sources.is_started()); @@ -1269,7 +1269,7 @@ void EditorFileSystem::_notification(int p_what) { bool done_importing = false; if (scanning_changes) { - if (scanning_changes_done) { + if (scanning_changes_done.is_set()) { set_process(false); if (thread_sources.is_started()) { diff --git a/editor/editor_file_system.h b/editor/editor_file_system.h index 2f5cd88a5599..d099a6fedc05 100644 --- a/editor/editor_file_system.h +++ b/editor/editor_file_system.h @@ -231,7 +231,7 @@ class EditorFileSystem : public Node { Thread thread_sources; bool scanning_changes = false; - bool scanning_changes_done = false; + SafeFlag scanning_changes_done; static void _thread_func_sources(void *_userdata);