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>2021-06-21 13:15:32 +0300
committerJacques Lucke <jacques@blender.org>2021-06-21 13:15:32 +0300
commit4968a0bdf9ec16134a545678eabb922f04ed8315 (patch)
tree7e6b0eb2dd7606d1b0b43f10426e8b6b75d92806 /source/blender/modifiers
parentf383cad32993c3a413d649158b9212c0363b62f9 (diff)
Fix T89122: crash when multi input is connected to multiple group inputs
The early `return` was wrong when there are multiple origin sockets that need to be loaded.
Diffstat (limited to 'source/blender/modifiers')
-rw-r--r--source/blender/modifiers/intern/MOD_nodes_evaluator.cc11
1 files changed, 6 insertions, 5 deletions
diff --git a/source/blender/modifiers/intern/MOD_nodes_evaluator.cc b/source/blender/modifiers/intern/MOD_nodes_evaluator.cc
index 01eebfea333..e8677c7ce1a 100644
--- a/source/blender/modifiers/intern/MOD_nodes_evaluator.cc
+++ b/source/blender/modifiers/intern/MOD_nodes_evaluator.cc
@@ -1041,13 +1041,14 @@ class GeometryNodesEvaluator {
this->load_unlinked_input_value(locked_node, input_socket, input_state, origin_socket);
locked_node.node_state.missing_required_inputs -= 1;
this->schedule_node(locked_node);
- return;
}
- /* The value has not been computed yet, so when it will be forwarded by another node, this
- * node will be triggered. */
- will_be_triggered_by_other_node = true;
+ else {
+ /* The value has not been computed yet, so when it will be forwarded by another node, this
+ * node will be triggered. */
+ will_be_triggered_by_other_node = true;
- locked_node.delayed_required_outputs.append(DOutputSocket(origin_socket));
+ locked_node.delayed_required_outputs.append(DOutputSocket(origin_socket));
+ }
}
/* If this node will be triggered by another node, we don't have to schedule it now. */
if (!will_be_triggered_by_other_node) {