summaryrefslogtreecommitdiffstats
path: root/core/io/resource_loader.cpp
diff options
context:
space:
mode:
authorPedro J. Estébanez <pedrojrulez@gmail.com>2023-05-23 23:28:47 +0200
committerPedro J. Estébanez <pedrojrulez@gmail.com>2023-05-24 00:22:58 +0200
commite725b4b02b60c9e8590cf7bff068f65074947fe9 (patch)
tree7e3cd51cb4a83faf95c4e3459abe9a86995e8f23 /core/io/resource_loader.cpp
parent809a98216267f3066b9fec2f02b2042bdc9d3e0d (diff)
downloadredot-engine-e725b4b02b60c9e8590cf7bff068f65074947fe9.tar.gz
Allow threads to mark themselves as safe for nodes
Diffstat (limited to 'core/io/resource_loader.cpp')
-rw-r--r--core/io/resource_loader.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/core/io/resource_loader.cpp b/core/io/resource_loader.cpp
index e9f812ab1c..ac1870fe88 100644
--- a/core/io/resource_loader.cpp
+++ b/core/io/resource_loader.cpp
@@ -302,6 +302,7 @@ void ResourceLoader::_thread_load_function(void *p_userdata) {
if (!Thread::is_main_thread()) {
mq_override = memnew(CallQueue);
MessageQueue::set_thread_singleton_override(mq_override);
+ set_current_thread_safe_for_nodes(true);
}
} else {
DEV_ASSERT(load_task.dependent_path.is_empty());
@@ -357,6 +358,7 @@ void ResourceLoader::_thread_load_function(void *p_userdata) {
if (load_nesting == 0 && mq_override) {
memdelete(mq_override);
+ set_current_thread_safe_for_nodes(false);
}
}