Ver código fonte

ResourceLoader: Handle another case of user tokens

(cherry picked from commit 0441c67de67b3c84d57e8ade5f3a0fee70959338)
Pedro J. Estébanez 1 ano atrás
pai
commit
98e77113a2
1 arquivos alterados com 5 adições e 0 exclusões
  1. 5 0
      core/io/resource_loader.cpp

+ 5 - 0
core/io/resource_loader.cpp

@@ -528,6 +528,11 @@ Ref<ResourceLoader::LoadToken> ResourceLoader::_load_start(const String &p_path,
 		if (!ignoring_cache && thread_load_tasks.has(local_path)) {
 			load_token = Ref<LoadToken>(thread_load_tasks[local_path].load_token);
 			if (load_token.is_valid()) {
+				if (p_for_user) {
+					// Load task exists, with no user tokens at the moment.
+					// Let's "attach" to it.
+					_load_threaded_request_setup_user_token(load_token.ptr(), p_path);
+				}
 				return load_token;
 			} else {
 				// The token is dying (reached 0 on another thread).