Fix T81426: Infinite loop building VSE relations

It is possible to create scene strips pointing to each other. This is
sanitized when rendering, but in dependency graph such setup will cause
infinite loop.

This patch fixes loop in dependency graph, but same problem exists in
audaspace

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D9262
This commit is contained in:
Richard Antalik 2020-10-26 00:30:27 +01:00
parent 8d1978a8e0
commit 3deb4f4cb8
Notes: blender-bot 2023-02-14 11:00:17 +01:00
Referenced by issue #81426, Crash VSE - Circular dependence of scenes as strip
1 changed files with 3 additions and 0 deletions

View File

@ -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. */