diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-09-29 16:00:03 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2016-09-29 16:00:03 +0300 |
commit | 57a2015f5674ac237fd35f5ec182362e7ff6d79e (patch) | |
tree | e22b1a4a0abb0c178d759331c2d4a6205d71dcc2 /source | |
parent | 31ebbe40a08ac48ceb4df4f8d9008c038d9ccd94 (diff) |
Adopt referenced scene in the context when evaluating sequences within a Scene Strip
This change makes it so that when the sequences within a Scene strip are
evaluated, they use the Scene that they come from as the context as opposed
the Scene that the Scene strip is in. This is necessary, for example, in the
case of the MulticamSelector where it needs to reference strips in the original
Scene as opposed to the Scene where the Scene strip is located.
Patch by @Matt (HyperSphere), thanks!
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/blenkernel/intern/sequencer.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c index c240aa27343..65d751a8a72 100644 --- a/source/blender/blenkernel/intern/sequencer.c +++ b/source/blender/blenkernel/intern/sequencer.c @@ -3447,7 +3447,13 @@ static ImBuf *do_render_strip_uncached( state->scene_parents = &scene_parent; /* end check */ - ibuf = do_render_strip_seqbase(context, state, seq, nr, use_preprocess); + /* Use the Scene Seq's scene for the context when rendering the scene's sequences + * (necessary for Multicam Selector among others). + */ + SeqRenderData local_context = *context; + local_context.scene = seq->scene; + + ibuf = do_render_strip_seqbase(&local_context, state, seq, nr, use_preprocess); /* step back in the list */ state->scene_parents = state->scene_parents->next; |