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
path: root/source
diff options
context:
space:
mode:
Diffstat (limited to 'source')
-rw-r--r--source/blender/render/intern/source/pipeline.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/source/blender/render/intern/source/pipeline.c b/source/blender/render/intern/source/pipeline.c
index fa05f8dd18d..9930a8f7f61 100644
--- a/source/blender/render/intern/source/pipeline.c
+++ b/source/blender/render/intern/source/pipeline.c
@@ -1600,6 +1600,7 @@ static void tag_scenes_for_render(Render *re)
/* check for render-layers nodes using other scenes, we tag them LIB_DOIT */
for (node = re->scene->nodetree->nodes.first; node; node = node->next) {
+ node->flag &= ~NODE_TEST;
if (node->type == CMP_NODE_R_LAYERS) {
if (node->id) {
if (!MAIN_VERSION_ATLEAST(re->main, 265, 5)) {
@@ -1617,8 +1618,12 @@ static void tag_scenes_for_render(Render *re)
}
}
- if (node->id != (ID *)re->scene)
- node->id->flag |= LIB_DOIT;
+ if (node->id != (ID *)re->scene) {
+ if ((node->id->flag & LIB_DOIT) == 0) {
+ node->flag |= NODE_TEST;
+ node->id->flag |= LIB_DOIT;
+ }
+ }
}
}
}
@@ -1640,12 +1645,12 @@ static void ntree_render_scenes(Render *re)
for (node = re->scene->nodetree->nodes.first; node; node = node->next) {
if (node->type == CMP_NODE_R_LAYERS) {
if (node->id && node->id != (ID *)re->scene) {
- if (node->id->flag & LIB_DOIT) {
+ if (node->flag & NODE_TEST) {
Scene *scene = (Scene *)node->id;
render_scene(re, scene, cfra);
restore_scene = (scene != re->scene);
- node->id->flag &= ~LIB_DOIT;
+ node->flag &= ~NODE_TEST;
nodeUpdate(re->scene->nodetree, node);
}