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>2020-08-28 17:58:40 +0300
committerBastien Montagne <bastien@blender.org>2020-08-28 17:58:40 +0300
commit4a17508c6d2a24dfb7c018ae49c80f12b4d3e610 (patch)
tree4557e58f7491086238aa8dc911c1e84935c641ee /source/blender/blenkernel/intern/lib_id.c
parent62e2d92aed25fe4da91ed380719ec341b3e0074b (diff)
parentddbf41d88d43a544c65c18f756fca7ab28ce5620 (diff)
Merge branch 'blender-v2.90-release' into master
Diffstat (limited to 'source/blender/blenkernel/intern/lib_id.c')
-rw-r--r--source/blender/blenkernel/intern/lib_id.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/lib_id.c b/source/blender/blenkernel/intern/lib_id.c
index 678f717efe4..dfe939aa878 100644
--- a/source/blender/blenkernel/intern/lib_id.c
+++ b/source/blender/blenkernel/intern/lib_id.c
@@ -344,8 +344,11 @@ static int lib_id_expand_local_cb(LibraryIDLinkCallbackData *cb_data)
}
if (cb_flag & IDWALK_CB_EMBEDDED) {
- /* Embedded data-blocks need to be made fully local as well. */
- if (*id_pointer != NULL) {
+ /* Embedded data-blocks need to be made fully local as well.
+ * Note however that in some cases (when owner ID had to be duplicated instead of being made
+ * local directly), its embedded IDs should also have already been duplicated, and hence be
+ * fully local here already. */
+ if (*id_pointer != NULL && ID_IS_LINKED(*id_pointer)) {
BLI_assert(*id_pointer != id_self);
lib_id_clear_library_data_ex(bmain, *id_pointer);