Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBastien Montagne <bastien@blender.org>2022-05-18 11:43:17 +0300
committerBastien Montagne <bastien@blender.org>2022-05-18 11:43:17 +0300
commit3cd3a4abe331f734af2185d3a87c7c88bf72795b (patch)
tree49c15df4a462e201127aa23aadd953933f65277f /source/blender/blenkernel/intern/lib_override.c
parente8e2bdaa86cd9bbd23291b1b4cbd016b57de9049 (diff)
parent1fcdb1ea28eb995f7c373393e3838a12615c10af (diff)
Merge branch 'blender-v3.2-release'
Diffstat (limited to 'source/blender/blenkernel/intern/lib_override.c')
-rw-r--r--source/blender/blenkernel/intern/lib_override.c5
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;
}