浏览代码

Merge pull request #88636 from ajreckof/Keep-the-type-of-the-last-added-item

Dictionary Editor: Keep the type of the last added item.
Rémi Verschelde 1 年之前
父节点
当前提交
b82bd22592
共有 1 个文件被更改,包括 13 次插入3 次删除
  1. 13 3
      editor/editor_properties_array_dict.cpp

+ 13 - 3
editor/editor_properties_array_dict.cpp

@@ -780,9 +780,19 @@ void EditorPropertyDictionary::_add_key_value() {
 	}
 	}
 
 
 	Dictionary dict = object->get_dict().duplicate();
 	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);
 	emit_changed(get_edited_property(), dict, "", false);
 	update_property();
 	update_property();