From 76650402f3004cc833be4b6c55059dd1ddd5a3bf Mon Sep 17 00:00:00 2001 From: Bastien Montagne Date: Mon, 16 Sep 2019 22:55:44 +0200 Subject: Fix T69931: Materials with keyframes duplicated by 'make single user' are linked. Another sneaky bite from the infamous private ID data: While those monsters are not in bmain, the actions used by their animdata are regular cute little ID's, living with the herd in the safe and sound Main DB... So we have to be careful not to propagate the nasty black magic required to handle the formers when we duplicate their animdata. Saying it again: private ID datablocks should never have had their own animdata & actions, this is endless issue also with RNA paths... And makes copying of animation between materials and such needlessly complicated. --- source/blender/blenkernel/BKE_library.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'source/blender/blenkernel/BKE_library.h') diff --git a/source/blender/blenkernel/BKE_library.h b/source/blender/blenkernel/BKE_library.h index 261416dc025..5a4a3f29a93 100644 --- a/source/blender/blenkernel/BKE_library.h +++ b/source/blender/blenkernel/BKE_library.h @@ -114,7 +114,10 @@ enum { LIB_ID_CREATE_NO_DEG_TAG | LIB_ID_COPY_NO_PREVIEW | LIB_ID_COPY_CACHES, }; -void BKE_libblock_copy_ex(struct Main *bmain, const struct ID *id, struct ID **r_newid, int flag); +void BKE_libblock_copy_ex(struct Main *bmain, + const struct ID *id, + struct ID **r_newid, + const int orig_flag); void *BKE_libblock_copy(struct Main *bmain, const struct ID *id) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL(); /* Special version. sued by datablock localization. */ -- cgit v1.2.3