Browse Source

ResourceLoader: Handle another case of user tokens

Pedro J. Estébanez 11 months ago
parent
commit
0441c67de6
1 changed files with 5 additions and 0 deletions
  1. 5 0
      core/io/resource_loader.cpp

+ 5 - 0
core/io/resource_loader.cpp

@@ -539,6 +539,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).