diff options
author | Antonio Vazquez <blendergit@gmail.com> | 2019-10-07 21:39:51 +0300 |
---|---|---|
committer | Antonio Vazquez <blendergit@gmail.com> | 2019-10-07 21:40:03 +0300 |
commit | b403b8196bafed5ca52f11bf1640d508dbd53eb0 (patch) | |
tree | fb282d812a6fe16d1e75096023c622f7151e734c /source | |
parent | 7dea0585468d9e7b51dc744e34eebfb0e38ebb08 (diff) |
Fix T70610: GPencil Remove Vertex Group don't reassign other groups
When removing a vertex group, the next groups were not reassigned because the loop upper limit was wrong.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/intern/gpencil.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/gpencil.c b/source/blender/blenkernel/intern/gpencil.c index f78833a0ebe..71fd7e26162 100644 --- a/source/blender/blenkernel/intern/gpencil.c +++ b/source/blender/blenkernel/intern/gpencil.c @@ -1397,6 +1397,7 @@ void BKE_gpencil_vgroup_remove(Object *ob, bDeformGroup *defgroup) bGPdata *gpd = ob->data; MDeformVert *dvert = NULL; const int def_nr = BLI_findindex(&ob->defbase, defgroup); + const int totgrp = BLI_listbase_count(&ob->defbase); /* Remove points data */ if (gpd) { @@ -1411,9 +1412,9 @@ void BKE_gpencil_vgroup_remove(Object *ob, bDeformGroup *defgroup) defvert_remove_group(dvert, dw); } else { - /* reorganize weights in other strokes */ - for (int g = 0; g < gps->dvert->totweight; g++) { - dw = &dvert->dw[g]; + /* Reorganize weights in other strokes. */ + for (int g = 0; g < totgrp; g++) { + dw = defvert_find_index(dvert, g); if ((dw != NULL) && (dw->def_nr > def_nr)) { dw->def_nr--; } |