diff options
author | Janne Karhu <jhkarh@gmail.com> | 2010-10-29 16:49:36 +0400 |
---|---|---|
committer | Janne Karhu <jhkarh@gmail.com> | 2010-10-29 16:49:36 +0400 |
commit | f921f914542f6b1be2edae94c8fe98e8590f111a (patch) | |
tree | 049753f0c8b7b5cce91ed5071aa0b631e8f36106 | |
parent | ce74b14850c06b77c069a2633a731a60a8d9ab03 (diff) |
Fix for[#24422] Crash when switching to Point Select Mode - particle hair
-rw-r--r-- | source/blender/editors/physics/particle_edit.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/source/blender/editors/physics/particle_edit.c b/source/blender/editors/physics/particle_edit.c index 10313868500..0357083fc63 100644 --- a/source/blender/editors/physics/particle_edit.c +++ b/source/blender/editors/physics/particle_edit.c @@ -774,6 +774,7 @@ static void PE_mirror_particle(Object *ob, DerivedMesh *dm, ParticleSystem *psys if(mpoint->keys) MEM_freeN(mpoint->keys); mpa->hair= MEM_dupallocN(pa->hair); + mpa->totkey= pa->totkey; mpoint->keys= MEM_dupallocN(point->keys); mpoint->totkey= point->totkey; @@ -782,7 +783,7 @@ static void PE_mirror_particle(Object *ob, DerivedMesh *dm, ParticleSystem *psys for(k=0; k<mpa->totkey; k++, mkey++, mhkey++) { mkey->co= mhkey->co; mkey->time= &mhkey->time; - mkey->flag &= PEK_SELECT; + mkey->flag &= ~PEK_SELECT; } } @@ -4008,12 +4009,16 @@ static void PE_create_particle_edit(Scene *scene, Object *ob, PointCache *cache, key->co= hkey->co; key->time= &hkey->time; key->flag= hkey->editflag; - if(!(psys->flag & PSYS_GLOBAL_HAIR)) + if(!(psys->flag & PSYS_GLOBAL_HAIR)) { key->flag |= PEK_USE_WCO; + hkey->editflag |= PEK_USE_WCO; + } + hkey++; } pa++; } + update_world_cos(ob, edit); } else { PTCacheMem *pm; |