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 <montagne29@wanadoo.fr>2016-05-13 15:07:30 +0300
committerBastien Montagne <montagne29@wanadoo.fr>2016-05-13 15:12:10 +0300
commita91a49ba8e3de3879688e9ca9c2289c231965cf2 (patch)
treeaaaab81b90b4092b3f0c0c089103fdde89d0b551
parent5e0ec49570fa745c28bd028cb7796733a1d9dfce (diff)
Fix T48416: Impossible to copy a linked object from a file to another one mantaining the linked library.
When writing temp blenbuffer file, libraries of linked datablocks where not tagged correctly, which means they were not put in the temp Main used to write the buffer, resulting in implicit localization of linked data.
-rw-r--r--source/blender/blenkernel/intern/blendfile.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/source/blender/blenkernel/intern/blendfile.c b/source/blender/blenkernel/intern/blendfile.c
index 4605a12f9a0..bedf262541f 100644
--- a/source/blender/blenkernel/intern/blendfile.c
+++ b/source/blender/blenkernel/intern/blendfile.c
@@ -492,6 +492,9 @@ static void blendfile_write_partial_cb(void *UNUSED(handle), Main *UNUSED(bmain)
/* only tag for need-expand if not done, prevents eternal loops */
if ((id->tag & LIB_TAG_DOIT) == 0)
id->tag |= LIB_TAG_NEED_EXPAND | LIB_TAG_DOIT;
+
+ if (id->lib && (id->lib->id.tag & LIB_TAG_DOIT) == 0)
+ id->lib->id.tag |= LIB_TAG_DOIT;
}
}