[Bf-blender-cvs] [eae9079] blender-v2.76-release: Fix T46232: Boids crash w/ random rule selection

Campbell Barton noreply at git.blender.org
Wed Sep 30 17:10:23 CEST 2015


Commit: eae90798b6904c923c4027fa263b9182a33a5084
Author: Campbell Barton
Date:   Thu Sep 24 16:07:30 2015 +1000
Branches: blender-v2.76-release
https://developer.blender.org/rBeae90798b6904c923c4027fa263b9182a33a5084

Fix T46232: Boids crash w/ random rule selection

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

M	source/blender/blenkernel/intern/boids.c

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

diff --git a/source/blender/blenkernel/intern/boids.c b/source/blender/blenkernel/intern/boids.c
index 489e26c..d765dff 100644
--- a/source/blender/blenkernel/intern/boids.c
+++ b/source/blender/blenkernel/intern/boids.c
@@ -1006,9 +1006,11 @@ void boid_brain(BoidBrainData *bbd, int p, ParticleData *pa)
 		case eBoidRulesetType_Random:
 		{
 			/* use random rule for each particle (always same for same particle though) */
-			rule = BLI_findlink(&state->rules, rand % BLI_listbase_count(&state->rules));
-
-			apply_boid_rule(bbd, rule, &val, pa, -1.0);
+			const int n = BLI_listbase_count(&state->rules);
+			if (n) {
+				rule = BLI_findlink(&state->rules, rand % n);
+				apply_boid_rule(bbd, rule, &val, pa, -1.0);
+			}
 			break;
 		}
 		case eBoidRulesetType_Average:




More information about the Bf-blender-cvs mailing list