Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCampbell Barton <ideasman42@gmail.com>2014-03-01 09:25:37 +0400
committerCampbell Barton <ideasman42@gmail.com>2014-03-01 09:25:37 +0400
commit519ee151a325fdb32e7bb34352ef31940d422fc5 (patch)
tree6da48e687b22b89d6d21521c4c4bf07af0ffebfb /source/blender/editors
parentd3ec3fd9689d089eb65c832e7f10fc55b6ec1918 (diff)
Fix for memory leak in particle brush
Diffstat (limited to 'source/blender/editors')
-rw-r--r--source/blender/editors/physics/particle_edit.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/source/blender/editors/physics/particle_edit.c b/source/blender/editors/physics/particle_edit.c
index d9ec0cf8416..f634a512aa3 100644
--- a/source/blender/editors/physics/particle_edit.c
+++ b/source/blender/editors/physics/particle_edit.c
@@ -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);