FIX: chain_and_reorder_extrusion_entities crashes
this function crashes if there are empty elements in entities. jira: STUDIO-7975 Change-Id: I0dbeb6b1151dd089be7617ebc3271691f64ac61e (cherry picked from commit df30728617a89891c68e36cce771fb6380355b82)
This commit is contained in:
parent
04756bf447
commit
e42aabebb1
|
@ -1030,6 +1030,9 @@ void reorder_extrusion_entities(std::vector<ExtrusionEntity*> &entities, const s
|
|||
|
||||
void chain_and_reorder_extrusion_entities(std::vector<ExtrusionEntity*> &entities, const Point *start_near)
|
||||
{
|
||||
// this function crashes if there are empty elements in entities
|
||||
entities.erase(std::remove_if(entities.begin(), entities.end(), [](ExtrusionEntity *entity) { return static_cast<ExtrusionEntityCollection *>(entity)->empty(); }),
|
||||
entities.end());
|
||||
reorder_extrusion_entities(entities, chain_extrusion_entities(entities, start_near));
|
||||
}
|
||||
|
||||
|
|
|
@ -1616,9 +1616,6 @@ void TreeSupport::generate_toolpaths()
|
|||
|
||||
// sort extrusions to reduce travel, also make sure walls go before infills
|
||||
if (ts_layer->support_fills.no_sort == false) {
|
||||
// chain_and_reorder_extrusion_entities crashes if there are empty elements in entities
|
||||
auto &entities = ts_layer->support_fills.entities;
|
||||
entities.erase(std::remove_if(entities.begin(), entities.end(), [](ExtrusionEntity* entity) { return static_cast<ExtrusionEntityCollection*>(entity)->empty(); }), entities.end());
|
||||
chain_and_reorder_extrusion_entities(ts_layer->support_fills.entities);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue