[Bf-blender-cvs] [03bb7cd9ad4] blender2.8: GP: Fix crash when select vertex group in modifiers
Antonioya
noreply at git.blender.org
Wed Sep 19 17:21:01 CEST 2018
Commit: 03bb7cd9ad438d5925b84bc6819d83dfe6cbd05e
Author: Antonioya
Date: Wed Sep 19 17:20:39 2018 +0200
Branches: blender2.8
https://developer.blender.org/rB03bb7cd9ad438d5925b84bc6819d83dfe6cbd05e
GP: Fix crash when select vertex group in modifiers
===================================================================
M source/blender/gpencil_modifiers/intern/MOD_gpencil_util.c
M source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c
===================================================================
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencil_util.c b/source/blender/gpencil_modifiers/intern/MOD_gpencil_util.c
index 5aa9073eacb..8f5f84c2ee4 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencil_util.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencil_util.c
@@ -127,7 +127,7 @@ float get_modifier_point_weight(MDeformVert *dvert, bool inverse, int def_nr)
{
float weight = 1.0f;
- if (def_nr != -1) {
+ if ((dvert != NULL) && (def_nr != -1)) {
MDeformWeight *dw = defvert_find_index(dvert, def_nr);
weight = dw ? dw->weight : -1.0f;
if ((weight >= 0.0f) && (inverse == 1)) {
@@ -145,6 +145,16 @@ float get_modifier_point_weight(MDeformVert *dvert, bool inverse, int def_nr)
}
+ /* handle special empty groups */
+ if ((dvert == NULL) && (def_nr != -1)) {
+ if (inverse == 1) {
+ return 1.0f;
+ }
+ else {
+ return -1.0f;
+ }
+ }
+
return weight;
}
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c b/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c
index 3b5f4dbf7c7..4d50468aaf4 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c
@@ -108,7 +108,7 @@ static void deformStroke(
for (int i = 0; i < gps->totpoints; i++) {
bGPDspoint *pt = &gps->points[i];
- MDeformVert *dvert = &gps->dvert[i];
+ MDeformVert *dvert = gps->dvert != NULL ? &gps->dvert[i] : NULL;
float curvef = 1.0f;
/* verify vertex group */
const float weight = get_modifier_point_weight(dvert, (mmd->flag & GP_THICK_INVERT_VGROUP) != 0, def_nr);
More information about the Bf-blender-cvs
mailing list