From 77d11a52b30f9eecbf2080e353ce59fa4db7e0e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lukas=20T=C3=B6nne?= Date: Wed, 7 May 2014 07:56:47 +0200 Subject: [PATCH] Fix T40052, Grid Particles Crash due to invalid empty mesh verts access for bbox calculation. --- .../blenkernel/intern/particle_system.c | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c index 0d4548969f2..d213a88f8b1 100644 --- a/source/blender/blenkernel/intern/particle_system.c +++ b/source/blender/blenkernel/intern/particle_system.c @@ -489,15 +489,19 @@ static void distribute_grid(DerivedMesh *dm, ParticleSystem *psys) int totvert=dm->getNumVerts(dm), from=psys->part->from; int i, j, k, p, res=psys->part->grid_res, size[3], axis; - mv=mvert; - /* find bounding box of dm */ - copy_v3_v3(min, mv->co); - copy_v3_v3(max, mv->co); - mv++; - - for (i=1; ico); + if (totvert > 0) { + mv=mvert; + copy_v3_v3(min, mv->co); + copy_v3_v3(max, mv->co); + mv++; + for (i = 1; i < totvert; i++, mv++) { + minmax_v3v3_v3(min, max, mv->co); + } + } + else { + zero_v3(min); + zero_v3(max); } sub_v3_v3v3(delta, max, min);