diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2023-05-09 17:44:49 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2023-05-09 17:44:49 +0200 |
commit | ee931e2be531cb670c7f71417288c88a3d71038c (patch) | |
tree | b2c09c7ccc36d9296c1ce536aa3881af9a96f6db /core/object/object.cpp | |
parent | 58ea42e4abda1f89b968a4483aaf66e4849c3ff1 (diff) | |
parent | 5e3a985c91e95a85a883cbcfab7c147cb0075770 (diff) | |
download | redot-engine-ee931e2be531cb670c7f71417288c88a3d71038c.tar.gz |
Merge pull request #76814 from KoBeWi/underdata
Don't refresh inspector when changing internal meta
Diffstat (limited to 'core/object/object.cpp')
-rw-r--r-- | core/object/object.cpp | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/core/object/object.cpp b/core/object/object.cpp index 8ec385c0eb..e0b1a5cf9c 100644 --- a/core/object/object.cpp +++ b/core/object/object.cpp @@ -884,8 +884,13 @@ void Object::set_meta(const StringName &p_name, const Variant &p_value) { if (p_value.get_type() == Variant::NIL) { if (metadata.has(p_name)) { metadata.erase(p_name); - metadata_properties.erase("metadata/" + p_name.operator String()); - notify_property_list_changed(); + + const String &sname = p_name; + metadata_properties.erase("metadata/" + sname); + if (!sname.begins_with("_")) { + // Metadata starting with _ don't show up in the inspector, so no need to update. + notify_property_list_changed(); + } } return; } @@ -896,8 +901,12 @@ void Object::set_meta(const StringName &p_name, const Variant &p_value) { } else { ERR_FAIL_COND(!p_name.operator String().is_valid_identifier()); Variant *V = &metadata.insert(p_name, p_value)->value; - metadata_properties["metadata/" + p_name.operator String()] = V; - notify_property_list_changed(); + + const String &sname = p_name; + metadata_properties["metadata/" + sname] = V; + if (!sname.begins_with("_")) { + notify_property_list_changed(); + } } } |