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!
This commit is contained in:
Sergey Sharybin 2016-09-29 15:00:03 +02:00
parent 31ebbe40a0
commit 57a2015f56
1 changed files with 7 additions and 1 deletions

View File

@ -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;