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:
authorHans Goudey <h.goudey@me.com>2022-02-19 00:17:01 +0300
committerHans Goudey <h.goudey@me.com>2022-02-19 00:17:01 +0300
commit7f68185d347b01a75836eb7372181a1196f546aa (patch)
tree935a55de98502bb17fe765bf4db338451333ed22 /source/blender/render/intern
parentd9d97db018d28f4c1ce7543ba275a9809d56294a (diff)
parent3cebfadb27eb4056d28211708158f9ad8a7459b7 (diff)
Merge branch 'blender-v3.1-release'
Diffstat (limited to 'source/blender/render/intern')
-rw-r--r--source/blender/render/intern/pipeline.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/source/blender/render/intern/pipeline.c b/source/blender/render/intern/pipeline.c
index ed4326bce69..2a93fb2c46b 100644
--- a/source/blender/render/intern/pipeline.c
+++ b/source/blender/render/intern/pipeline.c
@@ -1106,6 +1106,8 @@ static void do_render_compositor_scenes(Render *re)
return;
}
+ bool changed_scene = false;
+
/* now foreach render-result node we do a full render */
/* results are stored in a way compositor will find it */
GSet *scenes_rendered = BLI_gset_ptr_new(__func__);
@@ -1118,11 +1120,20 @@ static void do_render_compositor_scenes(Render *re)
do_render_compositor_scene(re, scene, cfra);
BLI_gset_add(scenes_rendered, scene);
node->typeinfo->updatefunc(restore_scene->nodetree, node);
+
+ if (scene != re->scene) {
+ changed_scene = true;
+ }
}
}
}
}
BLI_gset_free(scenes_rendered, NULL);
+
+ if (changed_scene) {
+ /* If rendered another scene, switch back to the current scene with compositing nodes. */
+ re->current_scene_update(re->suh, re->scene);
+ }
}
/* bad call... need to think over proper method still */