[Bf-blender-cvs] [357e5195754] master: Fix T83282: division by zero when creating psys tasks
Jacques Lucke
noreply at git.blender.org
Tue Jan 5 16:17:47 CET 2021
Commit: 357e519575411cc338acfe899fde6e5ea3476801
Author: Jacques Lucke
Date: Tue Jan 5 16:17:21 2021 +0100
Branches: master
https://developer.blender.org/rB357e519575411cc338acfe899fde6e5ea3476801
Fix T83282: division by zero when creating psys tasks
===================================================================
M source/blender/blenkernel/intern/particle_system.c
===================================================================
diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c
index 71df28c8b42..ad98079bc27 100644
--- a/source/blender/blenkernel/intern/particle_system.c
+++ b/source/blender/blenkernel/intern/particle_system.c
@@ -475,15 +475,15 @@ void psys_tasks_create(ParticleThreadContext *ctx,
{
ParticleTask *tasks;
int numtasks = min_ii(BLI_system_thread_count() * 4, endpart - startpart);
- float particles_per_task = (float)(endpart - startpart) / (float)numtasks, p, pnext;
- int i;
+ float particles_per_task = numtasks > 0 ? (float)(endpart - startpart) / (float)numtasks : 0;
tasks = MEM_callocN(sizeof(ParticleTask) * numtasks, "ParticleThread");
*r_numtasks = numtasks;
*r_tasks = tasks;
- p = (float)startpart;
- for (i = 0; i < numtasks; i++, p = pnext) {
+ float pnext;
+ float p = (float)startpart;
+ for (int i = 0; i < numtasks; i++, p = pnext) {
pnext = p + particles_per_task;
tasks[i].ctx = ctx;
More information about the Bf-blender-cvs
mailing list