[Bf-blender-cvs] [3352b56] master: Fix T46232: Boids crash w/ random rule selection

Campbell Barton noreply at git.blender.org
Thu Sep 24 08:17:41 CEST 2015


Commit: 3352b56d05585fbb986ff56eb2a04106049719c0
Author: Campbell Barton
Date:   Thu Sep 24 16:07:30 2015 +1000
Branches: master
https://developer.blender.org/rB3352b56d05585fbb986ff56eb2a04106049719c0

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