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.
This commit is contained in:
Antonio Vazquez 2020-10-22 20:01:39 +02:00
parent 6180ecaea5
commit 8432452f6f
1 changed files with 5 additions and 5 deletions

View File

@ -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;