[Bf-blender-cvs] [3deb4f4cb8b] blender-v2.91-release: Fix T81426: Infinite loop building VSE relations

Richard Antalik noreply at git.blender.org
Mon Oct 26 00:34:59 CET 2020


Commit: 3deb4f4cb8ba4558adbb24597fb799252449a799
Author: Richard Antalik
Date:   Mon Oct 26 00:30:27 2020 +0100
Branches: blender-v2.91-release
https://developer.blender.org/rB3deb4f4cb8ba4558adbb24597fb799252449a799

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

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

M	source/blender/depsgraph/intern/builder/deg_builder_relations.cc

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

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



More information about the Bf-blender-cvs mailing list