Fix T46232: Boids crash w/ random rule selection

This commit is contained in:
Campbell Barton 2015-09-24 16:07:30 +10:00
parent ecf0529efd
commit 3352b56d05

@ -1006,9 +1006,11 @@ void boid_brain(BoidBrainData *bbd, int p, ParticleData *pa)
case eBoidRulesetType_Random: case eBoidRulesetType_Random:
{ {
/* use random rule for each particle (always same for same particle though) */ /* use random rule for each particle (always same for same particle though) */
rule = BLI_findlink(&state->rules, rand % BLI_listbase_count(&state->rules)); const int n = BLI_listbase_count(&state->rules);
if (n) {
apply_boid_rule(bbd, rule, &val, pa, -1.0); rule = BLI_findlink(&state->rules, rand % n);
apply_boid_rule(bbd, rule, &val, pa, -1.0);
}
break; break;
} }
case eBoidRulesetType_Average: case eBoidRulesetType_Average: