[Bf-blender-cvs] [cc31c159a15] blender-v2.93-release: Fix T91511: GPencil weight_get and Vertex Groups not working at expected

Antonio Vazquez noreply at git.blender.org
Wed Sep 22 08:50:26 CEST 2021


Commit: cc31c159a1501b25df014a9b39b720e4ef8d53b3
Author: Antonio Vazquez
Date:   Mon Sep 20 11:10:31 2021 +0200
Branches: blender-v2.93-release
https://developer.blender.org/rBcc31c159a1501b25df014a9b39b720e4ef8d53b3

Fix T91511: GPencil weight_get and Vertex Groups not working at expected

The API was checking the number of total weights with the first point of the stroke and this was not valid because each point can have different number of weight elemnts,

===================================================================

M	source/blender/makesrna/intern/rna_gpencil.c

===================================================================

diff --git a/source/blender/makesrna/intern/rna_gpencil.c b/source/blender/makesrna/intern/rna_gpencil.c
index 1fbbffa99d5..44de5955c41 100644
--- a/source/blender/makesrna/intern/rna_gpencil.c
+++ b/source/blender/makesrna/intern/rna_gpencil.c
@@ -843,17 +843,17 @@ static float rna_GPencilStrokePoints_weight_get(bGPDstroke *stroke,
     return -1.0f;
   }
 
-  if (dvert->totweight <= vertex_group_index || vertex_group_index < 0) {
-    BKE_report(reports, RPT_ERROR, "Groups: index out of range");
-    return -1.0f;
-  }
-
   if (stroke->totpoints <= point_index || point_index < 0) {
     BKE_report(reports, RPT_ERROR, "GPencilStrokePoints: index out of range");
     return -1.0f;
   }
 
   MDeformVert *pt_dvert = stroke->dvert + point_index;
+  if ((pt_dvert) && (pt_dvert->totweight <= vertex_group_index || vertex_group_index < 0)) {
+    BKE_report(reports, RPT_ERROR, "Groups: index out of range");
+    return -1.0f;
+  }
+
   MDeformWeight *dw = BKE_defvert_find_index(pt_dvert, vertex_group_index);
   if (dw) {
     return dw->weight;



More information about the Bf-blender-cvs mailing list