[Bf-blender-cvs] [1fa7b7c011c] greasepencil-refactor: Save reference to original frame

Antonio Vazquez noreply at git.blender.org
Sat Jan 18 11:55:20 CET 2020


Commit: 1fa7b7c011c7d596bfca2364ffea6647b704cc01
Author: Antonio Vazquez
Date:   Wed Jan 15 18:13:16 2020 +0100
Branches: greasepencil-refactor
https://developer.blender.org/rB1fa7b7c011c7d596bfca2364ffea6647b704cc01

Save reference to original frame

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

M	source/blender/blenkernel/intern/gpencil.c
M	source/blender/blenkernel/intern/gpencil_modifier.c
M	source/blender/makesdna/DNA_gpencil_types.h

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

diff --git a/source/blender/blenkernel/intern/gpencil.c b/source/blender/blenkernel/intern/gpencil.c
index ecfd1ff7999..6cb8e13813e 100644
--- a/source/blender/blenkernel/intern/gpencil.c
+++ b/source/blender/blenkernel/intern/gpencil.c
@@ -3914,7 +3914,9 @@ void BKE_gpencil_update_orig_pointers(const Object *ob_orig, const Object *ob_ev
       if (gpf_eval == NULL) {
         continue;
       }
+
       /* Update frame reference pointers. */
+      gpf_eval->runtime.gpf_orig = (bGPDframe *)gpf_orig;
       BKE_gpencil_update_frame_reference_pointers(gpf_orig, gpf_eval);
     }
   }
diff --git a/source/blender/blenkernel/intern/gpencil_modifier.c b/source/blender/blenkernel/intern/gpencil_modifier.c
index 2f80b3958d8..5c26eebdfd5 100644
--- a/source/blender/blenkernel/intern/gpencil_modifier.c
+++ b/source/blender/blenkernel/intern/gpencil_modifier.c
@@ -914,6 +914,8 @@ void BKE_gpencil_prepare_eval_data(Depsgraph *depsgraph, Scene *scene, Object *o
           BKE_gpencil_free_strokes(gpf_eval);
           /* Copy again strokes. */
           BKE_gpencil_frame_copy_strokes(gpf_orig, gpf_eval);
+
+          gpf_eval->runtime.gpf_orig = (bGPDframe *)gpf_orig;
           BKE_gpencil_update_frame_reference_pointers(gpf_orig, gpf_eval);
         }
       }
diff --git a/source/blender/makesdna/DNA_gpencil_types.h b/source/blender/makesdna/DNA_gpencil_types.h
index 8d60d4b0781..25f288ed1a7 100644
--- a/source/blender/makesdna/DNA_gpencil_types.h
+++ b/source/blender/makesdna/DNA_gpencil_types.h
@@ -290,6 +290,9 @@ typedef struct bGPDframe_Runtime {
   int frameid;
   /** Onion offset from active frame. 0 if not onion. INT_MAX to bypass frame. */
   int onion_id;
+
+  /** Original frame (used to dereference evaluated data) */
+  struct bGPDframe *gpf_orig;
 } bGPDframe_Runtime;
 
 /* Grease-Pencil Annotations - 'Frame'



More information about the Bf-blender-cvs mailing list