[Bf-blender-cvs] [7a4e045d8f5] blender-v2.83-release: Fix T76525: crash drawing metaballs with multiple material slots

Brecht Van Lommel noreply at git.blender.org
Fri May 8 00:54:00 CEST 2020


Commit: 7a4e045d8f5f2d0e6e8db872aeb69d4c4b124f2a
Author: Brecht Van Lommel
Date:   Fri May 8 00:50:21 2020 +0200
Branches: blender-v2.83-release
https://developer.blender.org/rB7a4e045d8f5f2d0e6e8db872aeb69d4c4b124f2a

Fix T76525: crash drawing metaballs with multiple material slots

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

M	source/blender/draw/engines/workbench/workbench_engine.c

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

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



More information about the Bf-blender-cvs mailing list