Fix T70376: Lattice point looses state on modeswitch when shape keys are
present Selection state of lattice points as well as their weight were not kept when going in and out of editmode, code would just copy positions. Now copy the whole BPoint instead. Reviewers: campbellbarton Maniphest Tasks: T70376 Differential Revision: https://developer.blender.org/D5948
This commit is contained in:
parent
c9b9803a77
commit
e82ac9e596
Notes:
blender-bot
2023-02-14 00:38:22 +01:00
Referenced by issue #70376, Lattice point selection state with shape keys
|
@ -92,6 +92,21 @@ void BKE_editlattice_load(Object *obedit)
|
|||
lt = obedit->data;
|
||||
editlt = lt->editlatt->latt;
|
||||
|
||||
MEM_freeN(lt->def);
|
||||
|
||||
lt->def = MEM_dupallocN(editlt->def);
|
||||
|
||||
lt->flag = editlt->flag;
|
||||
|
||||
lt->pntsu = editlt->pntsu;
|
||||
lt->pntsv = editlt->pntsv;
|
||||
lt->pntsw = editlt->pntsw;
|
||||
|
||||
lt->typeu = editlt->typeu;
|
||||
lt->typev = editlt->typev;
|
||||
lt->typew = editlt->typew;
|
||||
lt->actbp = editlt->actbp;
|
||||
|
||||
if (lt->editlatt->shapenr) {
|
||||
actkey = BLI_findlink(<->key->block, lt->editlatt->shapenr - 1);
|
||||
|
||||
|
@ -112,22 +127,6 @@ void BKE_editlattice_load(Object *obedit)
|
|||
bp++;
|
||||
}
|
||||
}
|
||||
else {
|
||||
MEM_freeN(lt->def);
|
||||
|
||||
lt->def = MEM_dupallocN(editlt->def);
|
||||
|
||||
lt->flag = editlt->flag;
|
||||
|
||||
lt->pntsu = editlt->pntsu;
|
||||
lt->pntsv = editlt->pntsv;
|
||||
lt->pntsw = editlt->pntsw;
|
||||
|
||||
lt->typeu = editlt->typeu;
|
||||
lt->typev = editlt->typev;
|
||||
lt->typew = editlt->typew;
|
||||
lt->actbp = editlt->actbp;
|
||||
}
|
||||
|
||||
if (lt->dvert) {
|
||||
BKE_defvert_array_free(lt->dvert, lt->pntsu * lt->pntsv * lt->pntsw);
|
||||
|
|
Loading…
Reference in New Issue