[Bf-blender-cvs] [d39a1e3cab6] master: Fix T86692: Start Line Art GP objects on frame 0

YimingWu noreply at git.blender.org
Thu Mar 18 13:07:29 CET 2021


Commit: d39a1e3cab642764b9b42a955a4a411ae65bf0b7
Author: YimingWu
Date:   Thu Mar 18 17:48:46 2021 +0800
Branches: master
https://developer.blender.org/rBd39a1e3cab642764b9b42a955a4a411ae65bf0b7

Fix T86692: Start Line Art GP objects on frame 0

If playback starts before the first GP frame, we will get "ghost"
strokes.

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

M	source/blender/editors/gpencil/gpencil_add_lineart.c
M	source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
M	source/blender/gpencil_modifiers/intern/lineart/lineart_ops.c

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

diff --git a/source/blender/editors/gpencil/gpencil_add_lineart.c b/source/blender/editors/gpencil/gpencil_add_lineart.c
index 71253635ea8..cd996cafa36 100644
--- a/source/blender/editors/gpencil/gpencil_add_lineart.c
+++ b/source/blender/editors/gpencil/gpencil_add_lineart.c
@@ -111,7 +111,7 @@ void ED_gpencil_create_lineart(bContext *C, Object *ob)
   bGPDlayer *lines = BKE_gpencil_layer_addnew(gpd, "Lines", true);
 
   /* frames */
-  BKE_gpencil_frame_addnew(lines, CFRA);
+  BKE_gpencil_frame_addnew(lines, 0);
 
   /* update depsgraph */
   /* To trigger modifier update, this is still needed although we don't have any strokes. */
diff --git a/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c b/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
index fd880dbbe41..0923334701c 100644
--- a/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
+++ b/source/blender/gpencil_modifiers/intern/MOD_gpencillineart.c
@@ -152,7 +152,6 @@ static void generateStrokes(GpencilModifierData *md, Depsgraph *depsgraph, Objec
   BKE_gpencil_frame_active_set(depsgraph, gpd);
   bGPDframe *gpf = gpl->actframe;
   if (gpf == NULL) {
-    BKE_gpencil_frame_addnew(gpl, DEG_get_evaluated_scene(depsgraph)->r.cfra);
     return;
   }
 
diff --git a/source/blender/gpencil_modifiers/intern/lineart/lineart_ops.c b/source/blender/gpencil_modifiers/intern/lineart/lineart_ops.c
index 9d5d52b8388..f49a074e58b 100644
--- a/source/blender/gpencil_modifiers/intern/lineart/lineart_ops.c
+++ b/source/blender/gpencil_modifiers/intern/lineart/lineart_ops.c
@@ -355,6 +355,7 @@ static void lineart_gpencil_clear_strokes_exec_common(Object *ob)
       continue;
     }
     BKE_gpencil_free_frames(gpl);
+    BKE_gpencil_frame_addnew(gpl, 0);
 
     md->mode |= eGpencilModifierMode_Realtime | eGpencilModifierMode_Render;



More information about the Bf-blender-cvs mailing list