Bugfix:
Duplicating or separating objects with a particle system could crash.
This commit is contained in:
		@@ -1006,12 +1006,26 @@ SoftBody *copy_softbody(SoftBody *sb)
 | 
			
		||||
ParticleSystem *copy_particlesystem(ParticleSystem *psys)
 | 
			
		||||
{
 | 
			
		||||
	ParticleSystem *psysn;
 | 
			
		||||
	ParticleData *pa;
 | 
			
		||||
	int a;
 | 
			
		||||
 | 
			
		||||
	psysn= MEM_dupallocN(psys);
 | 
			
		||||
	psysn->particles= MEM_dupallocN(psys->particles);
 | 
			
		||||
 | 
			
		||||
	psysn->child= MEM_dupallocN(psys->child);
 | 
			
		||||
 | 
			
		||||
	for(a=0, pa=psysn->particles; a<psysn->totpart; a++, pa++) {
 | 
			
		||||
		if(pa->hair)
 | 
			
		||||
			pa->hair= MEM_dupallocN(pa->hair);
 | 
			
		||||
		if(pa->keys)
 | 
			
		||||
			pa->keys= MEM_dupallocN(pa->keys);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if(psys->soft)
 | 
			
		||||
		psysn->soft= copy_softbody(psys->soft);
 | 
			
		||||
	
 | 
			
		||||
	psysn->pathcache= NULL;
 | 
			
		||||
	psysn->childcache= NULL;
 | 
			
		||||
	psysn->edit= NULL;
 | 
			
		||||
	psysn->effectors.first= psysn->effectors.last= 0;
 | 
			
		||||
 | 
			
		||||
	id_us_plus((ID *)psysn->part);
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user