1
0
mirror of https://github.com/godotengine/godot.git synced 2025-11-05 12:10:55 +00:00

Merge pull request #76814 from KoBeWi/underdata

Don't refresh inspector when changing internal meta
This commit is contained in:
Rémi Verschelde
2023-05-09 17:44:49 +02:00

View File

@@ -884,9 +884,14 @@ void Object::set_meta(const StringName &p_name, const Variant &p_value) {
if (p_value.get_type() == Variant::NIL) { if (p_value.get_type() == Variant::NIL) {
if (metadata.has(p_name)) { if (metadata.has(p_name)) {
metadata.erase(p_name); metadata.erase(p_name);
metadata_properties.erase("metadata/" + p_name.operator String());
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(); notify_property_list_changed();
} }
}
return; return;
} }
@@ -896,10 +901,14 @@ void Object::set_meta(const StringName &p_name, const Variant &p_value) {
} else { } else {
ERR_FAIL_COND(!p_name.operator String().is_valid_identifier()); ERR_FAIL_COND(!p_name.operator String().is_valid_identifier());
Variant *V = &metadata.insert(p_name, p_value)->value; Variant *V = &metadata.insert(p_name, p_value)->value;
metadata_properties["metadata/" + p_name.operator String()] = V;
const String &sname = p_name;
metadata_properties["metadata/" + sname] = V;
if (!sname.begins_with("_")) {
notify_property_list_changed(); notify_property_list_changed();
} }
} }
}
Variant Object::get_meta(const StringName &p_name, const Variant &p_default) const { Variant Object::get_meta(const StringName &p_name, const Variant &p_default) const {
if (!metadata.has(p_name)) { if (!metadata.has(p_name)) {