Fix for memory leak in particle brush

This commit is contained in:
2014-03-01 16:25:37 +11:00
parent d3ec3fd968
commit 519ee151a3

View File

@@ -3337,7 +3337,7 @@ static int brush_add(PEData *data, short number)
Object *ob= data->ob;
PTCacheEdit *edit = data->edit;
ParticleSystem *psys= edit->psys;
ParticleData *add_pars= MEM_callocN(number*sizeof(ParticleData), "ParticleData add");
ParticleData *add_pars;
ParticleSystemModifierData *psmd= psys_get_modifier(ob, psys);
ParticleSimulationData sim= {0};
ParticleEditSettings *pset= PE_settings(scene);
@@ -3355,6 +3355,8 @@ static int brush_add(PEData *data, short number)
if (psys->flag & PSYS_GLOBAL_HAIR)
return 0;
add_pars = MEM_callocN(number * sizeof(ParticleData), "ParticleData add");
rng = BLI_rng_new_srandom(psys->seed+data->mval[0]+data->mval[1]);
sim.scene= scene;
@@ -3548,8 +3550,8 @@ static int brush_add(PEData *data, short number)
if (tree)
BLI_kdtree_free(tree);
}
if (add_pars)
MEM_freeN(add_pars);
MEM_freeN(add_pars);
if (!psmd->dm->deformedOnly)
dm->release(dm);