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:
authorRichard Antalik <richardantalik@gmail.com>2019-05-01 19:50:12 +0300
committerRichard Antalik <richardantalik@gmail.com>2019-05-01 19:58:35 +0300
commita372e5e426e46f38a5fa08affb27f7fa726775b5 (patch)
treebcd454c2ac505aaae59f9b59146055ba210e8934 /source/blender/blenkernel/intern/sequencer.c
parentfc040335b7a5eeaa3c57bd176656f86f9d56dc48 (diff)
Fix T61619: Some VSE attributes with keyframes are not sensibly evaluated
when the scene is referenced as a strip from another VSE scene Fix T49658: Evaluation / animation of f-curves does not correct for a scene's position within another scene Solution: Evaluate animdata before rendering scene seqbase. Reviewed By: brecht Differential Revision: https://developer.blender.org/D4755
Diffstat (limited to 'source/blender/blenkernel/intern/sequencer.c')
-rw-r--r--source/blender/blenkernel/intern/sequencer.c14
1 files changed, 10 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/sequencer.c b/source/blender/blenkernel/intern/sequencer.c
index f629f6a6d00..19b94977762 100644
--- a/source/blender/blenkernel/intern/sequencer.c
+++ b/source/blender/blenkernel/intern/sequencer.c
@@ -3662,6 +3662,12 @@ static ImBuf *do_render_strip_seqbase(const SeqRenderData *context,
seqbase = BKE_sequence_seqbase_get(seq, &offset);
if (seqbase && !BLI_listbase_is_empty(seqbase)) {
+
+ if (seq->flag & SEQ_SCENE_STRIPS && seq->scene) {
+ BKE_animsys_evaluate_all_animation(
+ context->bmain, context->depsgraph, seq->scene, nr + offset);
+ }
+
meta_ibuf = seq_render_strip_stack(context,
state,
seqbase,
@@ -3731,11 +3737,11 @@ static ImBuf *do_render_strip_uncached(const SeqRenderData *context,
else {
/* scene can be NULL after deletions */
ibuf = seq_render_scene_strip(context, seq, nr, cfra);
-
- /* Scene strips update all animation, so we need to restore original state.*/
- BKE_animsys_evaluate_all_animation(
- context->bmain, context->depsgraph, context->scene, cfra);
}
+
+ /* Scene strips update all animation, so we need to restore original state.*/
+ BKE_animsys_evaluate_all_animation(context->bmain, context->depsgraph, context->scene, cfra);
+
break;
}