[Bf-blender-cvs] [ef502127ddc] master: Fix T90795: Moving keys in Grease Pencil Dopesheet crashes Blender

Germano Cavalcante noreply at git.blender.org
Fri Aug 20 13:40:46 CEST 2021


Commit: ef502127ddc0f5a06e76cb2f634655b8e9c8f740
Author: Germano Cavalcante
Date:   Fri Aug 20 08:40:13 2021 -0300
Branches: master
https://developer.blender.org/rBef502127ddc0f5a06e76cb2f634655b8e9c8f740

Fix T90795: Moving keys in Grease Pencil Dopesheet crashes Blender

`td->loc` is referenced but not initialized.

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

M	source/blender/editors/transform/transform_convert_action.c

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

diff --git a/source/blender/editors/transform/transform_convert_action.c b/source/blender/editors/transform/transform_convert_action.c
index 8a3b254be5c..a5565b5fb88 100644
--- a/source/blender/editors/transform/transform_convert_action.c
+++ b/source/blender/editors/transform/transform_convert_action.c
@@ -241,16 +241,15 @@ static int GPLayerToTransData(TransData *td,
   for (gpf = gpl->frames.first; gpf; gpf = gpf->next) {
     if (is_prop_edit || (gpf->flag & GP_FRAME_SELECT)) {
       if (FrameOnMouseSide(side, (float)gpf->framenum, cfra)) {
-        /* memory is calloc'ed, so that should zero everything nicely for us */
-        td->val = &tfd->val;
-        td->ival = (float)gpf->framenum;
+        tfd->val = (float)gpf->framenum;
+        tfd->sdata = &gpf->framenum;
+
+        td->val = td->loc = &tfd->val; /* XXX: It's not a 3d array. */
+        td->ival = td->iloc[0] = (float)gpf->framenum;
 
         td->center[0] = td->ival;
         td->center[1] = ypos;
 
-        tfd->val = (float)gpf->framenum;
-        tfd->sdata = &gpf->framenum;
-
         /* Advance `td` now. */
         td++;
         tfd++;



More information about the Bf-blender-cvs mailing list