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.
This commit is contained in:
Bastien Montagne 2019-02-10 14:36:19 +01:00
parent 96a7e06792
commit 439437fa3a
Notes: blender-bot 2023-02-14 09:44:56 +01:00
Referenced by commit 94507a7fa7, Fix T62589: Particle system Instance Collection option fails to set a user for a linked collection.
Referenced by issue #61141, Append Particle Settings doesn't append the collection properly
2 changed files with 2 additions and 2 deletions

View File

@ -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);

View File

@ -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);