diff options
-rw-r--r-- | source/blender/blenkernel/intern/attribute_access.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/attribute_access.cc b/source/blender/blenkernel/intern/attribute_access.cc index 95a6628b1ae..21ab7f61447 100644 --- a/source/blender/blenkernel/intern/attribute_access.cc +++ b/source/blender/blenkernel/intern/attribute_access.cc @@ -1202,6 +1202,11 @@ WriteAttributePtr MeshComponent::attribute_try_get_for_write(const StringRef att if (mesh_->dvert == nullptr) { BKE_object_defgroup_data_create(&mesh_->id); } + else { + /* Copy the data layer if it is shared with some other mesh. */ + mesh_->dvert = (MDeformVert *)CustomData_duplicate_referenced_layer( + &mesh_->vdata, CD_MDEFORMVERT, mesh_->totvert); + } return std::make_unique<blender::bke::VertexWeightWriteAttribute>( mesh_->dvert, mesh_->totvert, vertex_group_index); } |