Bugfixes for particle mode:

* Fix crash removing all particles.
* Brush added particles did not get correct coordinates.
This commit is contained in:
Brecht Van Lommel 2009-10-13 17:15:12 +00:00
parent 52f1ed4db8
commit 12b3d458f2
2 changed files with 4 additions and 1 deletions

@ -3003,6 +3003,9 @@ static void brush_add(PEData *data, short number)
for(k=0, hkey=pa->hair; k<pa->totkey; k++, hkey++, key++) { for(k=0, hkey=pa->hair; k<pa->totkey; k++, hkey++, key++) {
key->co= hkey->co; key->co= hkey->co;
key->time= &hkey->time; key->time= &hkey->time;
if(!(psys->flag & PSYS_GLOBAL_HAIR))
key->flag |= PEK_USE_WCO;
} }
pa->size= 1.0f; pa->size= 1.0f;

@ -4237,7 +4237,7 @@ static void draw_ptcache_edit(Scene *scene, View3D *v3d, RegionView3D *rv3d, Obj
if(!(point->flag & PEP_HIDE)) if(!(point->flag & PEP_HIDE))
totkeys += point->totkey; totkeys += point->totkey;
if(!(edit->points->keys->flag & PEK_USE_WCO)) if(edit->points && !(edit->points->keys->flag & PEK_USE_WCO))
pd=pdata=MEM_callocN(totkeys*3*sizeof(float), "particle edit point data"); pd=pdata=MEM_callocN(totkeys*3*sizeof(float), "particle edit point data");
cd=cdata=MEM_callocN(totkeys*(timed?4:3)*sizeof(float), "particle edit color data"); cd=cdata=MEM_callocN(totkeys*(timed?4:3)*sizeof(float), "particle edit color data");