diff options
author | Joseph Eagar <joeedh@gmail.com> | 2009-06-10 23:15:27 +0400 |
---|---|---|
committer | Joseph Eagar <joeedh@gmail.com> | 2009-06-10 23:15:27 +0400 |
commit | fc79b456fdb505740495626f7d97145712c6723f (patch) | |
tree | d24697814ca59309f796d99b553b292b50847e7a /source/blender/editors/physics | |
parent | 994a8bd80f67910791a3ffd2b92755fefe94eaf1 (diff) | |
parent | fba6a9931c81e8cc6a3ea5d3cbd466f2d759c514 (diff) |
merge with 2.5 at r20783
Diffstat (limited to 'source/blender/editors/physics')
-rw-r--r-- | source/blender/editors/physics/editparticle.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/source/blender/editors/physics/editparticle.c b/source/blender/editors/physics/editparticle.c index 232082855cb..6d5b6768ceb 100644 --- a/source/blender/editors/physics/editparticle.c +++ b/source/blender/editors/physics/editparticle.c @@ -2455,13 +2455,16 @@ static void PE_mirror_x(Scene *scene, Object *ob, int tagged) new_pars= MEM_callocN(newtotpart*sizeof(ParticleData), "ParticleData new"); new_keys= MEM_callocN(newtotpart*sizeof(ParticleEditKey*), "ParticleEditKey new"); - memcpy(new_pars, psys->particles, totpart*sizeof(ParticleData)); - memcpy(new_keys, edit->keys, totpart*sizeof(ParticleEditKey*)); - - if(psys->particles) MEM_freeN(psys->particles); + if(psys->particles) { + memcpy(new_pars, psys->particles, totpart*sizeof(ParticleData)); + MEM_freeN(psys->particles); + } psys->particles= new_pars; - if(edit->keys) MEM_freeN(edit->keys); + if(edit->keys) { + memcpy(new_keys, edit->keys, totpart*sizeof(ParticleEditKey*)); + MEM_freeN(edit->keys); + } edit->keys= new_keys; if(edit->mirror_cache) { @@ -3759,7 +3762,7 @@ static int set_editable_exec(bContext *C, wmOperator *op) PE_free_particle_edit(psys); psys->flag &= ~PSYS_EDITED; - psys->recalc |= PSYS_RECALC_HAIR; + psys->recalc |= PSYS_RECALC_RESET; DAG_object_flush_update(scene, ob, OB_RECALC_DATA); } |