Browse Source

Merge pull request #64812 from Life4gal/fix-issue-57506

Fix using Resource objects as keys in the `tres` format
Rémi Verschelde 2 years ago
parent
commit
122106c844
1 changed files with 3 additions and 0 deletions
  1. 3 0
      scene/resources/resource_format_text.cpp

+ 3 - 0
scene/resources/resource_format_text.cpp

@@ -1846,6 +1846,9 @@ void ResourceFormatSaverTextInstance::_find_resources(const Variant &p_variant,
 			List<Variant> keys;
 			d.get_key_list(&keys);
 			for (const Variant &E : keys) {
+				// Of course keys should also be cached, after all we can't prevent users from using resources as keys, right?
+				// See also ResourceFormatSaverBinaryInstance::_find_resources (when p_variant is of type Variant::DICTIONARY)
+				_find_resources(E);
 				Variant v = d[E];
 				_find_resources(v);
 			}