[Bf-blender-cvs] [f1f8074b8da] blender-v2.92-release: GPencil: Fix unreported broken use only lines in multiframe

Antonio Vazquez noreply at git.blender.org
Thu Feb 18 15:35:50 CET 2021


Commit: f1f8074b8daaaaba0e90d9cfbaffc66d9c702fd3
Author: Antonio Vazquez
Date:   Thu Feb 18 15:34:52 2021 +0100
Branches: blender-v2.92-release
https://developer.blender.org/rBf1f8074b8daaaaba0e90d9cfbaffc66d9c702fd3

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.

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

M	source/blender/draw/engines/gpencil/gpencil_engine.c

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

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



More information about the Bf-blender-cvs mailing list