diff --git a/editor/editor_properties_array_dict.cpp b/editor/editor_properties_array_dict.cpp index c6fb323f1a4..9aa2390230f 100644 --- a/editor/editor_properties_array_dict.cpp +++ b/editor/editor_properties_array_dict.cpp @@ -907,6 +907,8 @@ void EditorPropertyDictionary::_add_key_value() { VariantInternal::initialize(&new_value, type); object->set_new_item_value(new_value); + object->set_dict(dict); + slots[(dict.size() - 1) % page_length].update_prop_or_index(); emit_changed(get_edited_property(), dict); } @@ -960,6 +962,10 @@ void EditorPropertyDictionary::_change_type_menu(int p_index) { dict[key] = value; } else { dict.erase(key); + object->set_dict(dict); + for (Slot &slot : slots) { + slot.update_prop_or_index(); + } } emit_changed(get_edited_property(), dict);