diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2019-02-10 16:36:19 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2019-02-10 19:15:15 +0300 |
commit | 439437fa3a446cfb219d94debb75d73d756ce09f (patch) | |
tree | 0d2406d8bb20a034ed473461c67d832b6b3a8d33 | |
parent | 96a7e06792902837c1be01652c76d73870449308 (diff) |
Fix T61141: Append Particle Settings doesn't append the collection properly.
ParticleSettings' duplicollection is now a proper refcounting user of
its collection, which will avoid losing it on save/reload.
-rw-r--r-- | source/blender/blenkernel/intern/library_query.c | 2 | ||||
-rw-r--r-- | source/blender/blenloader/intern/readfile.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/library_query.c b/source/blender/blenkernel/intern/library_query.c index 7f743e7d61f..cfda7ab2682 100644 --- a/source/blender/blenkernel/intern/library_query.c +++ b/source/blender/blenkernel/intern/library_query.c @@ -812,7 +812,7 @@ void BKE_library_foreach_ID_link(Main *bmain, ID *id, LibraryIDLinkCallback call case ID_PA: { ParticleSettings *psett = (ParticleSettings *) id; - CALLBACK_INVOKE(psett->dup_group, IDWALK_CB_NOP); + CALLBACK_INVOKE(psett->dup_group, IDWALK_CB_USER); CALLBACK_INVOKE(psett->dup_ob, IDWALK_CB_NOP); CALLBACK_INVOKE(psett->bb_ob, IDWALK_CB_NOP); CALLBACK_INVOKE(psett->collision_group, IDWALK_CB_NOP); diff --git a/source/blender/blenloader/intern/readfile.c b/source/blender/blenloader/intern/readfile.c index da5d87d4494..1f112f41526 100644 --- a/source/blender/blenloader/intern/readfile.c +++ b/source/blender/blenloader/intern/readfile.c @@ -4264,7 +4264,7 @@ static void lib_link_particlesettings(FileData *fd, Main *main) part->ipo = newlibadr_us(fd, part->id.lib, part->ipo); // XXX deprecated - old animation system part->dup_ob = newlibadr(fd, part->id.lib, part->dup_ob); - part->dup_group = newlibadr(fd, part->id.lib, part->dup_group); + part->dup_group = newlibadr_us(fd, part->id.lib, part->dup_group); part->eff_group = newlibadr(fd, part->id.lib, part->eff_group); part->bb_ob = newlibadr(fd, part->id.lib, part->bb_ob); part->collision_group = newlibadr(fd, part->id.lib, part->collision_group); |