Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntonio Vazquez <blendergit@gmail.com>2019-10-07 21:39:51 +0300
committerAntonio Vazquez <blendergit@gmail.com>2019-10-07 21:40:03 +0300
commitb403b8196bafed5ca52f11bf1640d508dbd53eb0 (patch)
treefb282d812a6fe16d1e75096023c622f7151e734c /source/blender/blenkernel/intern/gpencil.c
parent7dea0585468d9e7b51dc744e34eebfb0e38ebb08 (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/blender/blenkernel/intern/gpencil.c')
-rw-r--r--source/blender/blenkernel/intern/gpencil.c7
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--;
}