Commit: 8c916a3aecc49351dbbb0d22c8bc0e5712b9e9ac
Author: Jeroen Bakker
Date:   Tue Jul 21 11:47:53 2020 +0200
Branches: master
https://developer.blender.org/rB8c916a3aecc49351dbbb0d22c8bc0e5712b9e9ac

Fix T79066: Entering Edit Mode when Viewport Display set as Wire or Bounds 
leads to crash

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

M       source/blender/draw/intern/draw_cache_extract_mesh.c

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

diff --git a/source/blender/draw/intern/draw_cache_extract_mesh.c 
b/source/blender/draw/intern/draw_cache_extract_mesh.c
index 1737f8b2ff9..cca8ebcf2a8 100644
--- a/source/blender/draw/intern/draw_cache_extract_mesh.c
+++ b/source/blender/draw/intern/draw_cache_extract_mesh.c
@@ -890,7 +890,9 @@ static void extract_tris_finish(const MeshRenderData *mr, 
void *ibo, void *_data
   MeshExtract_Tri_Data *data = _data;
   GPU_indexbuf_build_in_place(&data->elb, ibo);
   /* HACK: Create ibo sub-ranges and assign them to each #GPUBatch. */
-  if (mr->use_final_mesh) {
+  /* The `surface_per_mat` tests are there when object shading type is set to 
Wire or Bounds. In
+   * these cases there isn't a surface per material. */
+  if (mr->use_final_mesh && mr->cache->surface_per_mat && 
mr->cache->surface_per_mat[0]) {
     for (int i = 0; i < mr->mat_len; i++) {
       /* Multiply by 3 because these are triangle indices. */
       const int mat_start = data->tri_mat_start[i];

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to