From d3612e039aca7b08028c35a35e33b66cf2c9ad14 Mon Sep 17 00:00:00 2001 From: Life4gal Date: Wed, 24 Aug 2022 11:43:22 +0800 Subject: [PATCH] Fix using Resource objects as keys in the `tres` format Fixes #57506. --- scene/resources/resource_format_text.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scene/resources/resource_format_text.cpp b/scene/resources/resource_format_text.cpp index 80b9ff3f389..c85c213c5dc 100644 --- a/scene/resources/resource_format_text.cpp +++ b/scene/resources/resource_format_text.cpp @@ -1846,6 +1846,9 @@ void ResourceFormatSaverTextInstance::_find_resources(const Variant &p_variant, List 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); }