From da8d6734fbc31f68e7e822f37fd239a92ac79b34 Mon Sep 17 00:00:00 2001 From: kobewi Date: Sun, 23 Apr 2023 20:08:30 +0200 Subject: [PATCH] Fix typed array export... again --- editor/editor_properties_array_dict.cpp | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/editor/editor_properties_array_dict.cpp b/editor/editor_properties_array_dict.cpp index bb0434a1bffd..3345f8797326 100644 --- a/editor/editor_properties_array_dict.cpp +++ b/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);