diff --git a/source/blender/blenkernel/intern/particle.c b/source/blender/blenkernel/intern/particle.c index d1d5c13c3dd..5fc22bd842a 100644 --- a/source/blender/blenkernel/intern/particle.c +++ b/source/blender/blenkernel/intern/particle.c @@ -3566,13 +3566,22 @@ ParticleSettings *psys_new_settings(const char *name, Main *main) ParticleSettings *psys_copy_settings(ParticleSettings *part) { ParticleSettings *partn; - + int a; + partn= copy_libblock(part); if(partn->pd) partn->pd= MEM_dupallocN(part->pd); if(partn->pd2) partn->pd2= MEM_dupallocN(part->pd2); partn->effector_weights = MEM_dupallocN(part->effector_weights); partn->boids = boid_copy_settings(part->boids); + + for(a=0; amtex[a]) { + partn->mtex[a]= MEM_mallocN(sizeof(MTex), "psys_copy_tex"); + memcpy(partn->mtex[a], part->mtex[a], sizeof(MTex)); + id_us_plus((ID *)partn->mtex[a]->tex); + } + } return partn; }