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:
authorJacques Lucke <jacques@blender.org>2022-07-23 15:37:39 +0300
committerJacques Lucke <jacques@blender.org>2022-07-23 15:37:58 +0300
commitd53ea1d0af58cfdcd230e75ba4ac58453bdbd808 (patch)
tree8c8ac33e72dd2e47c7343d0342e58a0ad9509cfc /source/blender/nodes/intern
parent092732d1136cf4bed04f5dcb117e7f4a0df5fc0c (diff)
Fix T99905: wrong toposort when the node tree is cyclic
Diffstat (limited to 'source/blender/nodes/intern')
-rw-r--r--source/blender/nodes/intern/node_tree_ref.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/source/blender/nodes/intern/node_tree_ref.cc b/source/blender/nodes/intern/node_tree_ref.cc
index 64a8690a869..05e7fe33776 100644
--- a/source/blender/nodes/intern/node_tree_ref.cc
+++ b/source/blender/nodes/intern/node_tree_ref.cc
@@ -522,6 +522,7 @@ static void toposort_from_start_node(const NodeTreeRef::ToposortDirection direct
/* Do a depth-first search to sort nodes topologically. */
Stack<Item, 64> nodes_to_check;
nodes_to_check.push({&start_node});
+ node_states[start_node.id()].is_in_stack = true;
while (!nodes_to_check.is_empty()) {
Item &item = nodes_to_check.peek();
const NodeRef &node = *item.node;