diff --git a/intern/cycles/blender/blender_curves.cpp b/intern/cycles/blender/blender_curves.cpp index 8344684ac64..964241e9904 100644 --- a/intern/cycles/blender/blender_curves.cpp +++ b/intern/cycles/blender/blender_curves.cpp @@ -855,6 +855,7 @@ void BlenderSync::sync_hair(BL::Depsgraph b_depsgraph, BL::Object b_ob, Hair *ha hair->set_value(socket, new_hair, socket); } + hair->attributes.clear(); foreach (Attribute &attr, new_hair.attributes.attributes) { hair->attributes.attributes.push_back(std::move(attr)); } diff --git a/intern/cycles/blender/blender_mesh.cpp b/intern/cycles/blender/blender_mesh.cpp index 4bd4baec2e4..e85b4ee1fc6 100644 --- a/intern/cycles/blender/blender_mesh.cpp +++ b/intern/cycles/blender/blender_mesh.cpp @@ -1073,10 +1073,12 @@ void BlenderSync::sync_mesh(BL::Depsgraph b_depsgraph, BL::Object b_ob, Mesh *me mesh->set_value(socket, new_mesh, socket); } + mesh->attributes.clear(); foreach (Attribute &attr, new_mesh.attributes.attributes) { mesh->attributes.attributes.push_back(std::move(attr)); } + mesh->subd_attributes.clear(); foreach (Attribute &attr, new_mesh.subd_attributes.attributes) { mesh->subd_attributes.attributes.push_back(std::move(attr)); }