diff options
Diffstat (limited to 'source/blender/blenloader/intern/readfile.c')
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index a3a56e9a075..989e2b3fa9e 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -3033,6 +3033,7 @@ static void direct_link_pointcache_list(FileData *fd, ListBase *ptcaches, PointC static void lib_link_particlesettings(FileData *fd, Main *main) { ParticleSettings *part; + ParticleDupliWeight *dw; part= main->particle.first; while(part) { @@ -3048,6 +3049,10 @@ static void lib_link_particlesettings(FileData *fd, Main *main) if(part->effector_weights) part->effector_weights->group = newlibadr(fd, part->id.lib, part->effector_weights->group); + dw = part->dupliweights.first; + for(; dw; dw=dw->next) + dw->ob = newlibadr(fd, part->id.lib, dw->ob); + if(part->boids) { BoidState *state = part->boids->states.first; BoidRule *rule; @@ -3088,6 +3093,8 @@ static void direct_link_particlesettings(FileData *fd, ParticleSettings *part) else part->effector_weights = BKE_add_effector_weights(part->eff_group); + link_list(fd, &part->dupliweights); + part->boids= newdataadr(fd, part->boids); if(part->boids) { |