Browse Source

Merge pull request #76378 from KoBeWi/fix_typed_array_export_2-fix_harder

Fix typed array export... again
Rémi Verschelde 2 years ago
parent
commit
e2e870c611
1 changed files with 12 additions and 1 deletions
  1. 12 1
      editor/editor_properties_array_dict.cpp

+ 12 - 1
editor/editor_properties_array_dict.cpp

@@ -203,7 +203,18 @@ void EditorPropertyArray::_property_changed(const String &p_property, Variant p_
 		index = p_property.get_slice("/", 1).to_int();
 	}
 
-	Variant array = object->get_array().duplicate();
+	Variant array;
+	const Variant &original_array = object->get_array();
+
+	if (original_array.get_type() == Variant::ARRAY) {
+		// Needed to preserve type of TypedArrays in meta pointer properties.
+		Array temp;
+		temp.assign(original_array.duplicate());
+		array = temp;
+	} else {
+		array = original_array.duplicate();
+	}
+
 	array.set(index, p_value);
 	object->set_array(array);
 	emit_changed(get_edited_property(), array, "", true);