diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-02-22 21:47:41 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-02-22 21:47:52 +0300 |
commit | 8115162e989f3c1d45f69de93849fb1d075417df (patch) | |
tree | baa62e67812aa3aac8767f2927c9708021f89794 /source/blender/draw/intern/draw_instance_data.c | |
parent | d4795cc5d1b0c11c2844603ec9d2a3d64611d689 (diff) |
DRW: Fix T54135 : Crash caused by wrongly iterating over ListBase.
Diffstat (limited to 'source/blender/draw/intern/draw_instance_data.c')
-rw-r--r-- | source/blender/draw/intern/draw_instance_data.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/draw/intern/draw_instance_data.c b/source/blender/draw/intern/draw_instance_data.c index bfff1a2f546..86b2af5080c 100644 --- a/source/blender/draw/intern/draw_instance_data.c +++ b/source/blender/draw/intern/draw_instance_data.c @@ -110,7 +110,7 @@ static void instance_batch_free(Gwn_Batch *batch, void *UNUSED(user_data)) /* TODO: Make it thread safe! Batch freeing can happen from another thread. */ /* XXX we need to iterate over all idatalists unless we make some smart * data structure to store the locations to update. */ - for (DRWInstanceDataList *idatalist = g_idatalists.first; idatalist; ++idatalist) { + for (DRWInstanceDataList *idatalist = g_idatalists.first; idatalist; idatalist = idatalist->next) { DRWInstancingBuffer *ibuf = idatalist->instancing.ibufs; for (int i = 0; i < idatalist->instancing.alloc_size; i++, ibuf++) { if (ibuf->instance == batch) { |