From 7f7d253e53a06a4a5d7bee474464a642bbc0cd90 Mon Sep 17 00:00:00 2001 From: ajreckof Date: Wed, 21 Feb 2024 17:44:05 +0100 Subject: [PATCH] Dictionary Editor : keep the type of the last added item. --- editor/editor_properties_array_dict.cpp | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/editor/editor_properties_array_dict.cpp b/editor/editor_properties_array_dict.cpp index f5b8d044445f..9b883f76616a 100644 --- a/editor/editor_properties_array_dict.cpp +++ b/editor/editor_properties_array_dict.cpp @@ -780,9 +780,19 @@ void EditorPropertyDictionary::_add_key_value() { } Dictionary dict = object->get_dict().duplicate(); - dict[object->get_new_item_key()] = object->get_new_item_value(); - object->set_new_item_key(Variant()); - object->set_new_item_value(Variant()); + Variant new_key = object->get_new_item_key(); + Variant new_value = object->get_new_item_value(); + dict[new_key] = new_value; + + Variant::Type type = new_key.get_type(); + new_key.zero(); + VariantInternal::initialize(&new_key, type); + object->set_new_item_key(new_key); + + type = new_value.get_type(); + new_value.zero(); + VariantInternal::initialize(&new_value, type); + object->set_new_item_value(new_value); emit_changed(get_edited_property(), dict, "", false); update_property();