Commit: 51e3735653ba7945425b14536fa06b0ea8cc6800
Author: Antonio Vazquez
Date:   Mon Oct 23 20:09:53 2017 +0200
Branches: greasepencil-object
https://developer.blender.org/rB51e3735653ba7945425b14536fa06b0ea8cc6800

Fix wrong allocation

The allocation was allocating batches, but must be an array of pointers to 
batches.

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

M       source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c

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

diff --git a/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c 
b/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
index 6ae82eb7112..d38c014eda6 100644
--- a/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
+++ b/source/blender/draw/engines/gpencil/gpencil_draw_cache_impl.c
@@ -153,10 +153,10 @@ static bool gpencil_batch_cache_valid(Object *ob, bGPdata 
*gpd, int cfra)
 static void gpencil_batch_cache_resize(GpencilBatchCache *cache, int slots)
 {
        cache->cache_size = slots;
-       cache->batch_stroke = MEM_recallocN(cache->batch_stroke, sizeof(struct 
Gwn_Batch) * slots);
-       cache->batch_fill = MEM_recallocN(cache->batch_fill, sizeof(struct 
Gwn_Batch) * slots);
-       cache->batch_edit = MEM_recallocN(cache->batch_edit, sizeof(struct 
Gwn_Batch) * slots);
-       cache->batch_edlin = MEM_recallocN(cache->batch_edlin, sizeof(struct 
Gwn_Batch) * slots);
+       cache->batch_stroke = MEM_recallocN(cache->batch_stroke, sizeof(struct 
Gwn_Batch *) * slots);
+       cache->batch_fill = MEM_recallocN(cache->batch_fill, sizeof(struct 
Gwn_Batch *) * slots);
+       cache->batch_edit = MEM_recallocN(cache->batch_edit, sizeof(struct 
Gwn_Batch *) * slots);
+       cache->batch_edlin = MEM_recallocN(cache->batch_edlin, sizeof(struct 
Gwn_Batch *) * slots);
 }
 
 /* check size and increase if no free slots */
@@ -189,10 +189,10 @@ static void gpencil_batch_cache_init(Object *ob, int cfra)
        }
 
        cache->cache_size = GPENCIL_MIN_BATCH_SLOTS_CHUNK;
-       cache->batch_stroke = MEM_callocN(sizeof(struct Gwn_Batch) * 
cache->cache_size, "Gpencil_Batch_Stroke");
-       cache->batch_fill = MEM_callocN(sizeof(struct Gwn_Batch) * 
cache->cache_size, "Gpencil_Batch_Fill");
-       cache->batch_edit = MEM_callocN(sizeof(struct Gwn_Batch) * 
cache->cache_size, "Gpencil_Batch_Edit");
-       cache->batch_edlin = MEM_callocN(sizeof(struct Gwn_Batch) * 
cache->cache_size, "Gpencil_Batch_Edlin");
+       cache->batch_stroke = MEM_callocN(sizeof(struct Gwn_Batch *) * 
cache->cache_size, "Gpencil_Batch_Stroke");
+       cache->batch_fill = MEM_callocN(sizeof(struct Gwn_Batch *) * 
cache->cache_size, "Gpencil_Batch_Fill");
+       cache->batch_edit = MEM_callocN(sizeof(struct Gwn_Batch *) * 
cache->cache_size, "Gpencil_Batch_Edit");
+       cache->batch_edlin = MEM_callocN(sizeof(struct Gwn_Batch *) * 
cache->cache_size, "Gpencil_Batch_Edlin");
 
        cache->is_editmode = GPENCIL_ANY_EDIT_MODE(gpd);
        gpd->flag &= ~GP_DATA_CACHE_IS_DIRTY;

_______________________________________________
Bf-blender-cvs mailing list
Bf-blender-cvs@blender.org
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to