From b59059a5185a83123728584f5635339ebb4764ea Mon Sep 17 00:00:00 2001 From: Pratik Borhade Date: Thu, 28 Mar 2024 12:48:15 +0100 Subject: [PATCH] Fix: GPv3: Crash removing all materials This is due to wrong function used for obtaining grease pencil material. Pull Request: https://projects.blender.org/blender/blender/pulls/119954 --- source/blender/draw/engines/gpencil/gpencil_engine_c.cc | 2 +- source/blender/draw/engines/overlay/overlay_outline.cc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/source/blender/draw/engines/gpencil/gpencil_engine_c.cc b/source/blender/draw/engines/gpencil/gpencil_engine_c.cc index f8dc2548e27..00b62566d1d 100644 --- a/source/blender/draw/engines/gpencil/gpencil_engine_c.cc +++ b/source/blender/draw/engines/gpencil/gpencil_engine_c.cc @@ -701,7 +701,7 @@ static GPENCIL_tObject *grease_pencil_object_cache_populate(GPENCIL_PrivateData visible_strokes.foreach_index([&](const int stroke_i) { const IndexRange points = points_by_curve[stroke_i]; const int material_index = stroke_materials[stroke_i]; - MaterialGPencilStyle *gp_style = BKE_object_material_get(ob, material_index + 1)->gp_style; + MaterialGPencilStyle *gp_style = BKE_gpencil_material_settings(ob, material_index + 1); const bool hide_material = (gp_style->flag & GP_MATERIAL_HIDE) != 0; const bool show_stroke = ((gp_style->flag & GP_MATERIAL_STROKE_SHOW) != 0); diff --git a/source/blender/draw/engines/overlay/overlay_outline.cc b/source/blender/draw/engines/overlay/overlay_outline.cc index a41a0f0d438..9d0f2808b26 100644 --- a/source/blender/draw/engines/overlay/overlay_outline.cc +++ b/source/blender/draw/engines/overlay/overlay_outline.cc @@ -330,7 +330,7 @@ static void OVERLAY_outline_grease_pencil(OVERLAY_PrivateData *pd, Scene *scene, visible_strokes.foreach_index([&](const int stroke_i) { const IndexRange points = points_by_curve[stroke_i]; const int material_index = stroke_materials[stroke_i]; - MaterialGPencilStyle *gp_style = BKE_object_material_get(ob, material_index + 1)->gp_style; + MaterialGPencilStyle *gp_style = BKE_gpencil_material_settings(ob, material_index + 1); const bool hide_material = (gp_style->flag & GP_MATERIAL_HIDE) != 0; if (hide_material) {