[Bf-blender-cvs] [530b9841ee7] master: Fix T101370: GPencil Grab Sculpt crash after bake transform animation

Antonio Vazquez noreply at git.blender.org
Mon Sep 26 11:09:56 CEST 2022


Commit: 530b9841ee7cc8365b58d322978cb91c9c2feb52
Author: Antonio Vazquez
Date:   Mon Sep 26 11:09:49 2022 +0200
Branches: master
https://developer.blender.org/rB530b9841ee7cc8365b58d322978cb91c9c2feb52

Fix T101370: GPencil Grab Sculpt crash after bake transform animation

The problem was the duplicated strokes had wrong pointers 
to the original stroke.

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

M	source/blender/editors/gpencil/gpencil_bake_animation.cc

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

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);
           }



More information about the Bf-blender-cvs mailing list