Fix #112208: Vertex parenting index wrong with multiple splines #112222
|
@ -177,11 +177,11 @@ static int vertex_parent_set_exec(bContext *C, wmOperator *op)
|
|||
}
|
||||
else if (ELEM(obedit->type, OB_SURF, OB_CURVES_LEGACY)) {
|
||||
ListBase *editnurb = object_editcurve_get(obedit);
|
||||
|
||||
int curr_index = 0;
|
||||
for (Nurb *nu = static_cast<Nurb *>(editnurb->first); nu != nullptr; nu = nu->next) {
|
||||
if (nu->type == CU_BEZIER) {
|
||||
BezTriple *bezt = nu->bezt;
|
||||
for (int curr_index = 0; curr_index < nu->pntsu; curr_index++, bezt++) {
|
||||
for (int nurb_index = 0; nurb_index < nu->pntsu; nurb_index++, bezt++, curr_index++) {
|
||||
if (BEZT_ISSEL_ANY_HIDDENHANDLES(v3d, bezt)) {
|
||||
if (par1 == INDEX_UNSET) {
|
||||
par1 = curr_index;
|
||||
|
@ -204,7 +204,7 @@ static int vertex_parent_set_exec(bContext *C, wmOperator *op)
|
|||
else {
|
||||
BPoint *bp = nu->bp;
|
||||
const int num_points = nu->pntsu * nu->pntsv;
|
||||
for (int curr_index = 0; curr_index < num_points; curr_index++, bp++) {
|
||||
for (int nurb_index = 0; nurb_index < num_points; nurb_index++, bp++, curr_index++) {
|
||||
if (bp->f1 & SELECT) {
|
||||
if (par1 == INDEX_UNSET) {
|
||||
par1 = curr_index;
|
||||
|
|
Loading…
Reference in New Issue