[Bf-blender-cvs] [c630ce3f6d1] blender2.8: Fix T57097: Crash when adding a Texture Slot in Texture Paint mode

Clément Foucault noreply at git.blender.org
Tue Oct 9 17:55:27 CEST 2018


Commit: c630ce3f6d1502f106ce7a7b51707970c95b2c0a
Author: Clément Foucault
Date:   Tue Oct 9 17:54:40 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBc630ce3f6d1502f106ce7a7b51707970c95b2c0a

Fix T57097: Crash when adding a Texture Slot in Texture Paint mode

Was caused by the use of a batch that was using a discarded index buffer.

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

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

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

diff --git a/source/blender/draw/intern/draw_cache_impl_mesh.c b/source/blender/draw/intern/draw_cache_impl_mesh.c
index abf6db99f17..43ae3f5f483 100644
--- a/source/blender/draw/intern/draw_cache_impl_mesh.c
+++ b/source/blender/draw/intern/draw_cache_impl_mesh.c
@@ -1843,9 +1843,15 @@ static void mesh_batch_cache_discard_shaded_tri(MeshBatchCache *cache)
 			GPU_BATCH_DISCARD_SAFE(cache->shaded_triangles[i]);
 		}
 	}
-
+	if (cache->texpaint_triangles) {
+		for (int i = 0; i < cache->mat_len; ++i) {
+			/* They use shaded_triangles_in_order */
+			GPU_BATCH_DISCARD_SAFE(cache->texpaint_triangles[i]);
+		}
+	}
 	MEM_SAFE_FREE(cache->shaded_triangles_in_order);
 	MEM_SAFE_FREE(cache->shaded_triangles);
+	MEM_SAFE_FREE(cache->texpaint_triangles);
 
 	MEM_SAFE_FREE(cache->auto_layer_names);
 	MEM_SAFE_FREE(cache->auto_layer_is_srgb);



More information about the Bf-blender-cvs mailing list