[Bf-blender-cvs] [57a2015] master: Adopt referenced scene in the context when evaluating sequences within a Scene Strip

Sergey Sharybin noreply at git.blender.org
Thu Sep 29 15:01:25 CEST 2016


Commit: 57a2015f5674ac237fd35f5ec182362e7ff6d79e
Author: Sergey Sharybin
Date:   Thu Sep 29 15:00:03 2016 +0200
Branches: master
https://developer.blender.org/rB57a2015f5674ac237fd35f5ec182362e7ff6d79e

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!

===================================================================

M	source/blender/blenkernel/intern/sequencer.c

===================================================================

diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c
index c240aa2..65d751a 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;




More information about the Bf-blender-cvs mailing list