From 3deb4f4cb8ba4558adbb24597fb799252449a799 Mon Sep 17 00:00:00 2001 From: Richard Antalik Date: Mon, 26 Oct 2020 00:30:27 +0100 Subject: 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 --- source/blender/depsgraph/intern/builder/deg_builder_relations.cc | 3 +++ 1 file changed, 3 insertions(+) (limited to 'source/blender/depsgraph') 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. */ -- cgit v1.2.3