|
|
|
|
@ -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);
|
|
|
|
|
|