diff --git a/source/blender/editors/object/object_vgroup.cc b/source/blender/editors/object/object_vgroup.cc index 987fb545264..7da64461fb5 100644 --- a/source/blender/editors/object/object_vgroup.cc +++ b/source/blender/editors/object/object_vgroup.cc @@ -1354,13 +1354,11 @@ static void moveCloserToDistanceFromPlane(Depsgraph *depsgraph, { Scene *scene_eval = DEG_get_evaluated_scene(depsgraph); Object *object_eval = DEG_get_evaluated_object(depsgraph, ob); - Mesh *mesh_eval = (Mesh *)object_eval->data; Mesh *me_deform; - MDeformWeight *dw, *dw_eval; + MDeformWeight *dw; float3 m; MDeformVert *dvert = me->deform_verts_for_write().data() + index; - MDeformVert *dvert_eval = mesh_eval->deform_verts_for_write().data() + index; int totweight = dvert->totweight; float oldw = 0; float oldPos[3] = {0}; @@ -1383,8 +1381,7 @@ static void moveCloserToDistanceFromPlane(Depsgraph *depsgraph, do { wasChange = false; me_deform = mesh_get_eval_deform(depsgraph, scene_eval, object_eval, &CD_MASK_BAREMESH); - const Span positions = me_deform->vert_positions(); - m = positions[index]; + m = me_deform->vert_positions()[index]; copy_v3_v3(oldPos, m); distToStart = dot_v3v3(norm, oldPos) + d; @@ -1394,7 +1391,6 @@ static void moveCloserToDistanceFromPlane(Depsgraph *depsgraph, for (i = 0; i < totweight; i++) { dwIndices[i] = i; dw = (dvert->dw + i); - dw_eval = (dvert_eval->dw + i); vc = hc = 0; if (!dw->weight) { changes[i][0] = 0; @@ -1424,12 +1420,10 @@ static void moveCloserToDistanceFromPlane(Depsgraph *depsgraph, if (dw->weight > 1) { dw->weight = 1; } - dw_eval->weight = dw->weight; me_deform = mesh_get_eval_deform(depsgraph, scene_eval, object_eval, &CD_MASK_BAREMESH); - m = positions[index]; + m = me_deform->vert_positions()[index]; getVerticalAndHorizontalChange(norm, d, coord, oldPos, distToStart, m, changes, dists, i); dw->weight = oldw; - dw_eval->weight = oldw; if (!k) { vc = changes[i][0]; hc = changes[i][1];