From 4e72e093436b9f187ee7b015be1655ef9c16f607 Mon Sep 17 00:00:00 2001 From: Mario Liebisch Date: Sat, 11 Mar 2023 01:08:23 +0100 Subject: [PATCH] Added the missing second case for string keys --- core/variant/dictionary.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/variant/dictionary.cpp b/core/variant/dictionary.cpp index 7ab150a4f8..f019273735 100644 --- a/core/variant/dictionary.cpp +++ b/core/variant/dictionary.cpp @@ -84,13 +84,15 @@ Variant &Dictionary::operator[](const Variant &p_key) { if (p_key.get_type() == Variant::STRING_NAME) { const StringName *sn = VariantInternal::get_string_name(&p_key); const String &key = sn->operator String(); - if (_p->variant_map.has(key)) { + if (likely(_p->variant_map.has(key))) { *_p->read_only = _p->variant_map[key]; } else { *_p->read_only = Variant(); } - } else { + } else if (likely(_p->variant_map.has(p_key))) { *_p->read_only = _p->variant_map[p_key]; + } else { + *_p->read_only = Variant(); } return *_p->read_only;