diff options
author | Campbell Barton <ideasman42@gmail.com> | 2015-09-24 09:07:30 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2015-09-24 09:07:30 +0300 |
commit | 3352b56d05585fbb986ff56eb2a04106049719c0 (patch) | |
tree | 75a1fdd12150aaddfe5327275304ff018aa0b427 /source/blender | |
parent | ecf0529efde4cbe7920dbe0a733f9c8447f5ef4f (diff) |
Fix T46232: Boids crash w/ random rule selection
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/blenkernel/intern/boids.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/source/blender/blenkernel/intern/boids.c b/source/blender/blenkernel/intern/boids.c index 489e26c5cbe..d765dff132f 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: |