diff options
author | Bastien Montagne <bastien@blender.org> | 2022-05-18 11:43:17 +0300 |
---|---|---|
committer | Bastien Montagne <bastien@blender.org> | 2022-05-18 11:43:17 +0300 |
commit | 3cd3a4abe331f734af2185d3a87c7c88bf72795b (patch) | |
tree | 49c15df4a462e201127aa23aadd953933f65277f /source/blender/blenkernel | |
parent | e8e2bdaa86cd9bbd23291b1b4cbd016b57de9049 (diff) | |
parent | 1fcdb1ea28eb995f7c373393e3838a12615c10af (diff) |
Merge branch 'blender-v3.2-release'
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/intern/lib_override.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/lib_override.c b/source/blender/blenkernel/intern/lib_override.c index a0812c33bd9..dc112af41db 100644 --- a/source/blender/blenkernel/intern/lib_override.c +++ b/source/blender/blenkernel/intern/lib_override.c @@ -757,13 +757,14 @@ static bool lib_override_linked_group_tag_collections_keep_tagged_check_recursiv static void lib_override_linked_group_tag_clear_boneshapes_objects(LibOverrideGroupTagData *data) { Main *bmain = data->bmain; + ID *id_root = data->id_root; /* Remove (untag) bone shape objects, they shall never need to be to directly/explicitly * overridden. */ LISTBASE_FOREACH (Object *, ob, &bmain->objects) { if (ob->type == OB_ARMATURE && ob->pose != NULL && (ob->id.tag & data->tag)) { for (bPoseChannel *pchan = ob->pose->chanbase.first; pchan != NULL; pchan = pchan->next) { - if (pchan->custom != NULL) { + if (pchan->custom != NULL && &pchan->custom->id != id_root) { pchan->custom->id.tag &= ~data->tag; } } @@ -773,7 +774,7 @@ static void lib_override_linked_group_tag_clear_boneshapes_objects(LibOverrideGr /* Remove (untag) collections if they do not own any tagged object (either themselves, or in * their children collections). */ LISTBASE_FOREACH (Collection *, collection, &bmain->collections) { - if ((collection->id.tag & data->tag) == 0) { + if ((collection->id.tag & data->tag) == 0 || &collection->id == id_root) { continue; } |