[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