diff options
author | Antonio Vazquez <blendergit@gmail.com> | 2022-09-26 12:09:49 +0300 |
---|---|---|
committer | Antonio Vazquez <blendergit@gmail.com> | 2022-09-26 12:09:49 +0300 |
commit | 530b9841ee7cc8365b58d322978cb91c9c2feb52 (patch) | |
tree | acb1f05bf8b5e1603655b1d4bca38c1fee613bdf | |
parent | 333e41eac6daf60c6aa9df0496a39c57d74b9c87 (diff) |
Fix T101370: GPencil Grab Sculpt crash after bake transform animation
The problem was the duplicated strokes had wrong pointers
to the original stroke.
-rw-r--r-- | source/blender/editors/gpencil/gpencil_bake_animation.cc | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/editors/gpencil/gpencil_bake_animation.cc b/source/blender/editors/gpencil/gpencil_bake_animation.cc index 50d5b43822a..38621c50ae8 100644 --- a/source/blender/editors/gpencil/gpencil_bake_animation.cc +++ b/source/blender/editors/gpencil/gpencil_bake_animation.cc @@ -298,6 +298,7 @@ static int gpencil_bake_grease_pencil_animation_exec(bContext *C, wmOperator *op BLI_addtail(&gpl_dst->frames, gpf_dst); LISTBASE_FOREACH (bGPDstroke *, gps, &gpf_dst->strokes) { + gps->runtime.gps_orig = NULL; /* Create material of the stroke. */ Material *ma_src = BKE_object_material_get(elem->ob, gps->mat_nr + 1); bool found = false; @@ -320,6 +321,8 @@ static int gpencil_bake_grease_pencil_animation_exec(bContext *C, wmOperator *op /* Update point location to new object space. */ for (int j = 0; j < gps->totpoints; j++) { bGPDspoint *pt = &gps->points[j]; + pt->runtime.idx_orig = 0; + pt->runtime.pt_orig = NULL; mul_m4_v3(ob_eval->obmat, &pt->x); mul_m4_v3(invmat, &pt->x); } |