diff options
author | Jacques Lucke <jacques@blender.org> | 2021-06-21 13:15:32 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-06-21 13:15:32 +0300 |
commit | 4968a0bdf9ec16134a545678eabb922f04ed8315 (patch) | |
tree | 7e6b0eb2dd7606d1b0b43f10426e8b6b75d92806 /source/blender | |
parent | f383cad32993c3a413d649158b9212c0363b62f9 (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')
-rw-r--r-- | source/blender/modifiers/intern/MOD_nodes_evaluator.cc | 11 |
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) { |