diff options
author | Philipp Oeser <info@graphics-engineer.com> | 2018-11-25 16:21:02 +0300 |
---|---|---|
committer | Philipp Oeser <info@graphics-engineer.com> | 2018-11-26 11:20:37 +0300 |
commit | 3919f99354376504408cfb4bbd4e71d71ffdadbe (patch) | |
tree | 8799235359f18e47d43e9394baa699dbb05bbc3b | |
parent | 945fddc4bec7d9471645c030b7f19c83afe72f0e (diff) |
Fix T58032: particle children 'Use Clump Curve' crash
Maniphest Tasks: T58032
Differential Revision: https://developer.blender.org/D3988
-rw-r--r-- | source/blender/blenkernel/intern/particle.c | 6 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/particle_distribute.c | 6 |
2 files changed, 9 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/particle.c b/source/blender/blenkernel/intern/particle.c index 360dcd7b26a..6ceae2fdc2d 100644 --- a/source/blender/blenkernel/intern/particle.c +++ b/source/blender/blenkernel/intern/particle.c @@ -3246,6 +3246,8 @@ void BKE_particlesettings_clump_curve_init(ParticleSettings *part) cumap->cm[0].curve[1].x = 1.0f; cumap->cm[0].curve[1].y = 1.0f; + curvemapping_initialize(cumap); + part->clumpcurve = cumap; } @@ -3258,6 +3260,8 @@ void BKE_particlesettings_rough_curve_init(ParticleSettings *part) cumap->cm[0].curve[1].x = 1.0f; cumap->cm[0].curve[1].y = 1.0f; + curvemapping_initialize(cumap); + part->roughcurve = cumap; } @@ -3270,6 +3274,8 @@ void BKE_particlesettings_twist_curve_init(ParticleSettings *part) cumap->cm[0].curve[1].x = 1.0f; cumap->cm[0].curve[1].y = 1.0f; + curvemapping_initialize(cumap); + part->twistcurve = cumap; } diff --git a/source/blender/blenkernel/intern/particle_distribute.c b/source/blender/blenkernel/intern/particle_distribute.c index 6c5a9085e71..bbb8a96dd4d 100644 --- a/source/blender/blenkernel/intern/particle_distribute.c +++ b/source/blender/blenkernel/intern/particle_distribute.c @@ -487,7 +487,7 @@ static void distribute_from_verts_exec(ParticleTask *thread, ParticleData *pa, i } #endif - BLI_assert(rng_skip_tot > 0); /* should never be below zero */ + BLI_assert(rng_skip_tot >= 0); /* should never be below zero */ if (rng_skip_tot > 0) { BLI_rng_skip(thread->rng, rng_skip_tot); } @@ -531,7 +531,7 @@ static void distribute_from_faces_exec(ParticleTask *thread, ParticleData *pa, i } pa->foffset= 0.0f; - BLI_assert(rng_skip_tot > 0); /* should never be below zero */ + BLI_assert(rng_skip_tot >= 0); /* should never be below zero */ if (rng_skip_tot > 0) { BLI_rng_skip(thread->rng, rng_skip_tot); } @@ -628,7 +628,7 @@ static void distribute_from_volume_exec(ParticleTask *thread, ParticleData *pa, } } - BLI_assert(rng_skip_tot > 0); /* should never be below zero */ + BLI_assert(rng_skip_tot >= 0); /* should never be below zero */ if (rng_skip_tot > 0) { BLI_rng_skip(thread->rng, rng_skip_tot); } |