1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-09 12:50:35 +00:00

Fix get_class_icon() ignoring fallback

This commit is contained in:
kobewi
2025-05-30 14:44:14 +02:00
parent b89c47bb85
commit 0138e33792
2 changed files with 5 additions and 3 deletions

View File

@@ -5202,9 +5202,11 @@ Ref<Texture2D> EditorNode::get_object_icon(const Object *p_object, const String
Ref<Texture2D> EditorNode::get_class_icon(const String &p_class, const String &p_fallback) {
ERR_FAIL_COND_V_MSG(p_class.is_empty(), nullptr, "Class name cannot be empty.");
const Pair<String, String> key(p_class, p_fallback);
// Take from the local cache, if available.
{
Ref<Texture2D> *icon = class_icon_cache.getptr(p_class);
Ref<Texture2D> *icon = class_icon_cache.getptr(key);
if (icon) {
return *icon;
}
@@ -5218,7 +5220,7 @@ Ref<Texture2D> EditorNode::get_class_icon(const String &p_class, const String &p
}
Ref<Texture2D> icon = _get_class_or_script_icon(p_class, script_path, p_fallback, true);
class_icon_cache[p_class] = icon;
class_icon_cache[key] = icon;
return icon;
}

View File

@@ -484,7 +484,7 @@ private:
PrintHandlerList print_handler;
HashMap<String, Ref<Texture2D>> icon_type_cache;
HashMap<String, Ref<Texture2D>> class_icon_cache;
HashMap<Pair<String, String>, Ref<Texture2D>> class_icon_cache;
ProjectUpgradeTool *project_upgrade_tool = nullptr;
bool run_project_upgrade_tool = false;