[Bf-blender-cvs] [00a9617f92f] blender-v3.0-release: Fix: wrong assert in geometry nodes evaluator
Jacques Lucke
noreply at git.blender.org
Wed Nov 17 15:41:01 CET 2021
Commit: 00a9617f92fdae6c847575d10fac8a66e8322257
Author: Jacques Lucke
Date: Wed Nov 17 15:40:53 2021 +0100
Branches: blender-v3.0-release
https://developer.blender.org/rB00a9617f92fdae6c847575d10fac8a66e8322257
Fix: wrong assert in geometry nodes evaluator
It only makes sense to check if all required outputs have been computed
if the node was executed at all.
===================================================================
M source/blender/modifiers/intern/MOD_nodes_evaluator.cc
===================================================================
diff --git a/source/blender/modifiers/intern/MOD_nodes_evaluator.cc b/source/blender/modifiers/intern/MOD_nodes_evaluator.cc
index 70d2bd9c7f5..badd633f648 100644
--- a/source/blender/modifiers/intern/MOD_nodes_evaluator.cc
+++ b/source/blender/modifiers/intern/MOD_nodes_evaluator.cc
@@ -723,7 +723,7 @@ class GeometryNodesEvaluator {
this->execute_node(node, node_state);
}
- this->node_task_postprocessing(node, node_state);
+ this->node_task_postprocessing(node, node_state, do_execute_node);
}
bool node_task_preprocessing(const DNode node, NodeState &node_state)
@@ -1006,7 +1006,7 @@ class GeometryNodesEvaluator {
}
}
- void node_task_postprocessing(const DNode node, NodeState &node_state)
+ void node_task_postprocessing(const DNode node, NodeState &node_state, bool was_executed)
{
this->with_locked_node(node, node_state, [&](LockedNode &locked_node) {
const bool node_has_finished = this->finish_node_if_possible(locked_node);
@@ -1017,8 +1017,9 @@ class GeometryNodesEvaluator {
/* Either the node rescheduled itself or another node tried to schedule it while it ran. */
this->schedule_node(locked_node);
}
-
- this->assert_expected_outputs_have_been_computed(locked_node);
+ if (was_executed) {
+ this->assert_expected_outputs_have_been_computed(locked_node);
+ }
});
}
More information about the Bf-blender-cvs
mailing list