diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2020-02-03 13:31:05 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2020-02-03 13:35:42 +0300 |
commit | 6d95baf67ad3cbf8b65bc6e04059c822d8d097b9 (patch) | |
tree | 8ebdd917bc562c66127e38ea543f86fe0af83aee /source/blender/makesrna/intern/rna_particle.c | |
parent | d237681cada6696487876f710a1eb2372572b16f (diff) |
Fix T73364: crash calling particle_sytem.co_hair() on disabled particles
Diffstat (limited to 'source/blender/makesrna/intern/rna_particle.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_particle.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/source/blender/makesrna/intern/rna_particle.c b/source/blender/makesrna/intern/rna_particle.c index 431f2c71e3f..36320be9270 100644 --- a/source/blender/makesrna/intern/rna_particle.c +++ b/source/blender/makesrna/intern/rna_particle.c @@ -385,11 +385,11 @@ static void rna_ParticleSystem_co_hair( totchild = 0; } - if (particle_no < totpart) { + if (particle_no < totpart && particlesystem->pathcache) { cache = particlesystem->pathcache[particle_no]; max_k = (int)cache->segments; } - else if (particle_no < totpart + totchild) { + else if (particle_no < totpart + totchild && particlesystem->childcache) { cache = particlesystem->childcache[particle_no - totpart]; if (cache->segments < 0) { @@ -400,6 +400,7 @@ static void rna_ParticleSystem_co_hair( } } else { + zero_v3(n_co); return; } @@ -409,6 +410,9 @@ static void rna_ParticleSystem_co_hair( mul_m4_v3(particlesystem->imat, n_co); mul_m4_v3(object->obmat, n_co); } + else { + zero_v3(n_co); + } } static const EnumPropertyItem *rna_Particle_Material_itemf(bContext *C, |