diff options
Diffstat (limited to 'source/blender/gpencil_modifiers')
-rw-r--r-- | source/blender/gpencil_modifiers/intern/MOD_gpencil_util.c | 12 | ||||
-rw-r--r-- | source/blender/gpencil_modifiers/intern/MOD_gpencilthick.c | 2 |
2 files changed, 12 insertions, 2 deletions
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); |