[Bf-blender-cvs] [4404a0dcd4c] master: Fix T66707 Modifying bone's 'Custom Object' reference shape causes blender to crash

Clément Foucault noreply at git.blender.org
Mon Jul 15 19:27:57 CEST 2019


Commit: 4404a0dcd4c593d199786d01a092105267243235
Author: Clément Foucault
Date:   Mon Jul 15 19:24:32 2019 +0200
Branches: master
https://developer.blender.org/rB4404a0dcd4c593d199786d01a092105267243235

Fix T66707 Modifying bone's 'Custom Object' reference shape causes blender to crash

This was caused by an instancing batch not being initialized correctly.

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

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

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

diff --git a/source/blender/draw/intern/draw_instance_data.c b/source/blender/draw/intern/draw_instance_data.c
index 3e5dfb53fc7..802f49d6549 100644
--- a/source/blender/draw/intern/draw_instance_data.c
+++ b/source/blender/draw/intern/draw_instance_data.c
@@ -141,7 +141,8 @@ GPUBatch *DRW_temp_batch_instance_request(DRWInstanceDataList *idatalist,
 
   GPUBatch *batch = BLI_memblock_alloc(idatalist->pool_instancing);
   bool is_compatible = (batch->gl_prim_type == geom->gl_prim_type) && (batch->inst == buf) &&
-                       (buf->vbo_id != 0) && (batch->phase == GPU_BATCH_READY_TO_DRAW);
+                       (buf->vbo_id != 0) && (batch->phase == GPU_BATCH_READY_TO_DRAW) &&
+                       (batch->elem == geom->elem);
   for (int i = 0; i < GPU_BATCH_VBO_MAX_LEN && is_compatible; i++) {
     if (batch->verts[i] != geom->verts[i]) {
       is_compatible = false;



More information about the Bf-blender-cvs mailing list