You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-12-02 16:48:55 +00:00
Fix error when editing multifield values inside arrays and dictionaries
This commit is contained in:
@@ -96,8 +96,14 @@ void EditorDebuggerRemoteObjects::_get_property_list(List<PropertyInfo> *p_list)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void EditorDebuggerRemoteObjects::set_property_field(const StringName &p_property, const Variant &p_value, const String &p_field) {
|
void EditorDebuggerRemoteObjects::set_property_field(const StringName &p_property, const Variant &p_value, const String &p_field) {
|
||||||
|
// Ignore the field with arrays and dictionaries, as they are passed whole when edited.
|
||||||
|
Variant::Type type = p_value.get_type();
|
||||||
|
if (type == Variant::ARRAY || type == Variant::DICTIONARY) {
|
||||||
|
_set_impl(p_property, p_value, "");
|
||||||
|
} else {
|
||||||
_set_impl(p_property, p_value, p_field);
|
_set_impl(p_property, p_value, p_field);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
String EditorDebuggerRemoteObjects::get_title() {
|
String EditorDebuggerRemoteObjects::get_title() {
|
||||||
if (!remote_object_ids.is_empty() && ObjectID(remote_object_ids[0].operator uint64_t()).is_valid()) {
|
if (!remote_object_ids.is_empty() && ObjectID(remote_object_ids[0].operator uint64_t()).is_valid()) {
|
||||||
|
|||||||
@@ -310,8 +310,14 @@ StringName MultiNodeEdit::get_edited_class_name() const {
|
|||||||
}
|
}
|
||||||
|
|
||||||
void MultiNodeEdit::set_property_field(const StringName &p_property, const Variant &p_value, const String &p_field) {
|
void MultiNodeEdit::set_property_field(const StringName &p_property, const Variant &p_value, const String &p_field) {
|
||||||
|
// Ignore the field with arrays and dictionaries, as they are passed whole when edited.
|
||||||
|
Variant::Type type = p_value.get_type();
|
||||||
|
if (type == Variant::ARRAY || type == Variant::DICTIONARY) {
|
||||||
|
_set_impl(p_property, p_value, "");
|
||||||
|
} else {
|
||||||
_set_impl(p_property, p_value, p_field);
|
_set_impl(p_property, p_value, p_field);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void MultiNodeEdit::_bind_methods() {
|
void MultiNodeEdit::_bind_methods() {
|
||||||
ClassDB::bind_method("_hide_script_from_inspector", &MultiNodeEdit::_hide_script_from_inspector);
|
ClassDB::bind_method("_hide_script_from_inspector", &MultiNodeEdit::_hide_script_from_inspector);
|
||||||
|
|||||||
Reference in New Issue
Block a user