[Bf-blender-cvs] [3919f993543] blender2.8: Fix T58032: particle children 'Use Clump Curve' crash

Philipp Oeser noreply at git.blender.org
Mon Nov 26 09:23:13 CET 2018


Commit: 3919f99354376504408cfb4bbd4e71d71ffdadbe
Author: Philipp Oeser
Date:   Sun Nov 25 14:21:02 2018 +0100
Branches: blender2.8
https://developer.blender.org/rB3919f99354376504408cfb4bbd4e71d71ffdadbe

Fix T58032: particle children 'Use Clump Curve' crash

Maniphest Tasks: T58032

Differential Revision: https://developer.blender.org/D3988

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

M	source/blender/blenkernel/intern/particle.c
M	source/blender/blenkernel/intern/particle_distribute.c

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

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);
 	}



More information about the Bf-blender-cvs mailing list