diff options
author | Campbell Barton <ideasman42@gmail.com> | 2017-05-11 00:42:35 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2017-05-11 00:42:35 +0300 |
commit | 891159cea064ea83e78e9fb1ccb03bc2517ed62d (patch) | |
tree | 72f5ecab0e7b4cfb2ae609dbda434ed268fc188e /source/blender/render | |
parent | 50b67d83a9eb2f19fe3ed09efa99a253ea9ec136 (diff) | |
parent | b82954f6f4e17c201859f9f15b2d73bd11fb68f2 (diff) |
Merge branch 'master' into 28
Diffstat (limited to 'source/blender/render')
-rw-r--r-- | source/blender/render/intern/source/external_engine.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/source/blender/render/intern/source/external_engine.c b/source/blender/render/intern/source/external_engine.c index 068880f94e5..be6d6459b2f 100644 --- a/source/blender/render/intern/source/external_engine.c +++ b/source/blender/render/intern/source/external_engine.c @@ -781,7 +781,13 @@ void RE_engine_register_pass(struct RenderEngine *engine, struct Scene *scene, s return; } - if (scene->nodetree) { - ntreeCompositRegisterPass(scene->nodetree, scene, srl, name, type); + /* Register the pass in all scenes that have a render layer node for this layer. + * Since multiple scenes can be used in the compositor, the code must loop over all scenes + * and check whether their nodetree has a node that needs to be updated. */ + Scene *sce; + for (sce = G.main->scene.first; sce; sce = sce->id.next) { + if (sce->nodetree) { + ntreeCompositRegisterPass(sce->nodetree, scene, srl, name, type); + } } } |