[Bf-blender-cvs] [8432452f6fc] blender-v2.91-release: GPencil: Fix unreported crash using layer solo mode and masked layers

Antonio Vazquez noreply at git.blender.org
Thu Oct 22 20:01:55 CEST 2020


Commit: 8432452f6fcb5f96df900250700f7fed7dfa32b5
Author: Antonio Vazquez
Date:   Thu Oct 22 20:01:39 2020 +0200
Branches: blender-v2.91-release
https://developer.blender.org/rB8432452f6fcb5f96df900250700f7fed7dfa32b5

GPencil: Fix unreported crash using layer solo mode and masked layers

The solo mode was skipping the layer creation data and the loop of masks expect to have all layers in the array or the loop crash.

The solution is just create the layer array data for the layer, but don't draw any stroke.

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

M	source/blender/blenkernel/intern/gpencil.c

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

diff --git a/source/blender/blenkernel/intern/gpencil.c b/source/blender/blenkernel/intern/gpencil.c
index 31cd812f8df..6c6ca996caa 100644
--- a/source/blender/blenkernel/intern/gpencil.c
+++ b/source/blender/blenkernel/intern/gpencil.c
@@ -2549,17 +2549,17 @@ void BKE_gpencil_visible_stroke_iter(ViewLayer *view_layer,
     /* Use evaluated frame (with modifiers for active stroke)/ */
     act_gpf = gpl->actframe;
     if (act_gpf) {
+      act_gpf->runtime.onion_id = 0;
+      if (layer_cb) {
+        layer_cb(gpl, act_gpf, NULL, thunk);
+      }
+
       /* If layer solo mode and Paint mode, only keyframes with data are displayed. */
       if (GPENCIL_PAINT_MODE(gpd) && (gpl->flag & GP_LAYER_SOLO_MODE) &&
           (act_gpf->framenum != cfra)) {
         continue;
       }
 
-      act_gpf->runtime.onion_id = 0;
-      if (layer_cb) {
-        layer_cb(gpl, act_gpf, NULL, thunk);
-      }
-
       LISTBASE_FOREACH (bGPDstroke *, gps, &act_gpf->strokes) {
         if (gps->totpoints == 0) {
           continue;



More information about the Bf-blender-cvs mailing list