summaryrefslogtreecommitdiffstats
path: root/core/object/object.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-05-09 17:44:49 +0200
committerRémi Verschelde <rverschelde@gmail.com>2023-05-09 17:44:49 +0200
commitee931e2be531cb670c7f71417288c88a3d71038c (patch)
treeb2c09c7ccc36d9296c1ce536aa3881af9a96f6db /core/object/object.cpp
parent58ea42e4abda1f89b968a4483aaf66e4849c3ff1 (diff)
parent5e3a985c91e95a85a883cbcfab7c147cb0075770 (diff)
downloadredot-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.cpp17
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();
+ }
}
}