From 7a4e045d8f5f2d0e6e8db872aeb69d4c4b124f2a Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Fri, 8 May 2020 00:50:21 +0200 Subject: Fix T76525: crash drawing metaballs with multiple material slots --- source/blender/draw/engines/workbench/workbench_engine.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'source/blender/draw/engines/workbench') diff --git a/source/blender/draw/engines/workbench/workbench_engine.c b/source/blender/draw/engines/workbench/workbench_engine.c index f3554f32205..cb0dfc0a8bf 100644 --- a/source/blender/draw/engines/workbench/workbench_engine.c +++ b/source/blender/draw/engines/workbench/workbench_engine.c @@ -153,6 +153,9 @@ static void workbench_cache_texpaint_populate(WORKBENCH_PrivateData *wpd, Object if (geoms) { const int materials_len = DRW_cache_object_material_count_get(ob); for (int i = 0; i < materials_len; i++) { + if (geoms[i] == NULL) { + continue; + } DRWShadingGroup *grp = workbench_image_setup(wpd, ob, i + 1, NULL, NULL, 0); DRW_shgroup_call(grp, geoms[i], ob); } @@ -184,6 +187,9 @@ static void workbench_cache_common_populate(WORKBENCH_PrivateData *wpd, if (geoms) { const int materials_len = DRW_cache_object_material_count_get(ob); for (int i = 0; i < materials_len; i++) { + if (geoms[i] == NULL) { + continue; + } DRWShadingGroup *grp = workbench_material_setup(wpd, ob, i + 1, color_type, r_transp); DRW_shgroup_call(grp, geoms[i], ob); } -- cgit v1.2.3