Fixed crash in Organic supports with a single support layer only.

Fixes #9557
This commit is contained in:
Vojtech Bubnik 2023-02-06 16:52:09 +01:00
parent a97b950c3d
commit aaffcbc282

View File

@ -2500,8 +2500,10 @@ static void create_nodes_from_area(
// Point is chosen based on an inaccurate estimate where the branches will split into two, but every point inside the influence area would produce a valid result. // Point is chosen based on an inaccurate estimate where the branches will split into two, but every point inside the influence area would produce a valid result.
{ {
SupportElements *layer_above = move_bounds.size() > 1 ? &move_bounds[1] : nullptr; SupportElements *layer_above = move_bounds.size() > 1 ? &move_bounds[1] : nullptr;
if (layer_above) {
for (SupportElement &elem : *layer_above) for (SupportElement &elem : *layer_above)
elem.state.marked = false; elem.state.marked = false;
}
for (SupportElement &init : move_bounds.front()) { for (SupportElement &init : move_bounds.front()) {
init.state.result_on_layer = move_inside_if_outside(init.influence_area, init.state.next_position); init.state.result_on_layer = move_inside_if_outside(init.influence_area, init.state.next_position);
// Also set the parent nodes, as these will be required for the first iteration of the loop below and mark the parent nodes. // Also set the parent nodes, as these will be required for the first iteration of the loop below and mark the parent nodes.