From f1f8074b8daaaaba0e90d9cfbaffc66d9c702fd3 Mon Sep 17 00:00:00 2001 From: Antonio Vazquez Date: Thu, 18 Feb 2021 15:34:52 +0100 Subject: GPencil: Fix unreported broken use only lines in multiframe This option was broken since the draw engine refactor and it was impossible to display only edit lines for multiframe mode. --- source/blender/draw/engines/gpencil/gpencil_engine.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/source/blender/draw/engines/gpencil/gpencil_engine.c b/source/blender/draw/engines/gpencil/gpencil_engine.c index 153dcfb6ea7..57c69398ef2 100644 --- a/source/blender/draw/engines/gpencil/gpencil_engine.c +++ b/source/blender/draw/engines/gpencil/gpencil_engine.c @@ -140,7 +140,7 @@ void GPENCIL_engine_init(void *ved) /* For non active frame, use only lines in multiedit mode. */ const bool overlays_on = (v3d->flag2 & V3D_HIDE_OVERLAYS) == 0; - stl->pd->use_multiedit_lines_only = !overlays_on || + stl->pd->use_multiedit_lines_only = overlays_on && (v3d->gp_flag & V3D_GP_SHOW_MULTIEDIT_LINES) != 0; const bool shmode_xray_support = v3d->shading.type <= OB_SOLID; @@ -495,10 +495,10 @@ static void gpencil_stroke_cache_populate(bGPDlayer *gpl, (!iter->pd->simplify_fill) && ((gps->flag & GP_STROKE_NOFILL) == 0); bool only_lines = gpl && gpf && gpl->actframe != gpf && iter->pd->use_multiedit_lines_only; - bool hide_onion = gpl && gpf && gpf->runtime.onion_id != 0 && - ((gp_style->flag & GP_MATERIAL_HIDE_ONIONSKIN) != 0); - - if (hide_material || (!show_stroke && !show_fill) || (only_lines && hide_onion) || hide_onion) { + bool is_onion = gpl && gpf && gpf->runtime.onion_id != 0; + bool hide_onion = is_onion && ((gp_style->flag & GP_MATERIAL_HIDE_ONIONSKIN) != 0); + if ((hide_material) || (!show_stroke && !show_fill) || (only_lines && !is_onion) || + (hide_onion)) { return; } -- cgit v1.2.3