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>2021-11-19 13:48:25 +0300
committerBastien Montagne <bastien@blender.org>2021-11-19 14:09:28 +0300
commit83e245023c481aa2f57588724915e554c00c05d2 (patch)
tree2c26c51aebd12ffb4e99f853e492114be2b81e9b /source/blender/blenkernel/intern/constraint.c
parentde3fda29c79f143d0bc251ded5bcbf4613417247 (diff)
Fix (unreported) wrong behavior of constraints in liboverrides.
All constraints were 'made local', including the ones comming from the reference linked object.
Diffstat (limited to 'source/blender/blenkernel/intern/constraint.c')
-rw-r--r--source/blender/blenkernel/intern/constraint.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c
index b2b03d28483..7ddbaa0e9ee 100644
--- a/source/blender/blenkernel/intern/constraint.c
+++ b/source/blender/blenkernel/intern/constraint.c
@@ -6022,7 +6022,6 @@ bConstraint *BKE_constraint_duplicate_ex(bConstraint *src, const int flag, const
bConstraint *dst = MEM_dupallocN(src);
constraint_copy_data_ex(dst, src, flag, do_extern);
dst->next = dst->prev = NULL;
- dst->flag |= CONSTRAINT_OVERRIDE_LIBRARY_LOCAL;
return dst;
}
@@ -6057,7 +6056,9 @@ void BKE_constraints_copy_ex(ListBase *dst, const ListBase *src, const int flag,
for (con = dst->first, srccon = src->first; con && srccon;
srccon = srccon->next, con = con->next) {
constraint_copy_data_ex(con, srccon, flag, do_extern);
- con->flag |= CONSTRAINT_OVERRIDE_LIBRARY_LOCAL;
+ if ((flag & LIB_ID_COPY_NO_LIB_OVERRIDE_LOCAL_DATA_FLAG) == 0) {
+ con->flag |= CONSTRAINT_OVERRIDE_LIBRARY_LOCAL;
+ }
}
}