diff options
author | Richard Antalik <richardantalik@gmail.com> | 2020-10-26 02:39:30 +0300 |
---|---|---|
committer | Richard Antalik <richardantalik@gmail.com> | 2020-10-26 02:39:30 +0300 |
commit | bf10a56eea876320dd14f7a649e8d2a98cc5a3a7 (patch) | |
tree | fe69da969793a77c6d0cc30eb2b9e856e15af007 | |
parent | e661df71e65e4a8b22f232d25c9831bbdbb08148 (diff) | |
parent | 8eb7344731f2e8cc910b03beb13722a31fc46f61 (diff) |
Merge branch 'blender-v2.91-release'
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder_relations.cc | 3 | ||||
-rw-r--r-- | source/blender/sequencer/intern/prefetch.c | 4 | ||||
-rw-r--r-- | source/blender/sequencer/intern/sequencer.c | 6 |
3 files changed, 11 insertions, 2 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc index 86a365a4901..ec5cbc5c605 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc @@ -2667,6 +2667,9 @@ void DepsgraphRelationBuilder::build_scene_sequencer(Scene *scene) if (scene->ed == nullptr) { return; } + if (built_map_.checkIsBuiltAndTag(scene, BuilderMap::TAG_SCENE_SEQUENCER)) { + return; + } build_scene_audio(scene); ComponentKey scene_audio_key(&scene->id, NodeType::AUDIO); /* Make sure dependencies from sequences data goes to the sequencer evaluation. */ diff --git a/source/blender/sequencer/intern/prefetch.c b/source/blender/sequencer/intern/prefetch.c index 013abb716d4..65b2b6c02cf 100644 --- a/source/blender/sequencer/intern/prefetch.c +++ b/source/blender/sequencer/intern/prefetch.c @@ -319,6 +319,7 @@ static void seq_prefetch_update_scene(Scene *scene) return; } + pfjob->scene = scene; seq_prefetch_free_depsgraph(pfjob); seq_prefetch_init_depsgraph(pfjob); } @@ -499,15 +500,14 @@ static PrefetchJob *seq_prefetch_start(const SeqRenderData *context, float cfra) BLI_mutex_init(&pfjob->prefetch_suspend_mutex); BLI_condition_init(&pfjob->prefetch_suspend_cond); - pfjob->bmain = context->bmain; pfjob->bmain_eval = BKE_main_new(); - pfjob->scene = context->scene; seq_prefetch_init_depsgraph(pfjob); } } seq_prefetch_update_scene(context->scene); seq_prefetch_update_context(context); + pfjob->bmain = context->bmain; pfjob->cfra = cfra; pfjob->num_frames_prefetched = 1; diff --git a/source/blender/sequencer/intern/sequencer.c b/source/blender/sequencer/intern/sequencer.c index c8dfb6b886f..068d836d1e6 100644 --- a/source/blender/sequencer/intern/sequencer.c +++ b/source/blender/sequencer/intern/sequencer.c @@ -6045,6 +6045,12 @@ static Sequence *sequencer_check_scene_recursion(Scene *scene, ListBase *seqbase return seq; } + if (seq->type == SEQ_TYPE_SCENE && (seq->flag & SEQ_SCENE_STRIPS)) { + if (sequencer_check_scene_recursion(scene, &seq->scene->ed->seqbase)) { + return seq; + } + } + if (seq->type == SEQ_TYPE_META && sequencer_check_scene_recursion(scene, &seq->seqbase)) { return seq; } |