Explorar o código

Fix for debugging typed dictionaries

Elise hai 3 meses
pai
achega
057759d413
Modificáronse 2 ficheiros con 2 adicións e 4 borrados
  1. 1 3
      core/io/marshalls.cpp
  2. 1 1
      editor/editor_properties_array_dict.cpp

+ 1 - 3
core/io/marshalls.cpp

@@ -1858,9 +1858,7 @@ Error encode_variant(const Variant &p_variant, uint8_t *r_buffer, int &r_len, bo
 				if (buf) {
 					buf += len;
 				}
-				const Variant *value = dict.getptr(kv.key);
-				ERR_FAIL_NULL_V(value, ERR_BUG);
-				err = encode_variant(*value, buf, len, p_full_objects, p_depth + 1);
+				err = encode_variant(kv.value, buf, len, p_full_objects, p_depth + 1);
 				ERR_FAIL_COND_V(err, err);
 				ERR_FAIL_COND_V(len % 4, ERR_BUG);
 				r_len += len;

+ 1 - 1
editor/editor_properties_array_dict.cpp

@@ -1387,7 +1387,7 @@ void EditorPropertyDictionary::update_property() {
 
 			Variant::Type value_type;
 
-			if (dict.is_typed_value() && slot.prop_key) {
+			if (dict.is_typed_value() && value_subtype != Variant::NIL && slot.prop_key) {
 				value_type = value_subtype;
 			} else {
 				value_type = value.get_type();