mirror of
https://git.mirrors.martin98.com/https://github.com/slic3r/Slic3r.git
synced 2025-08-01 07:02:01 +08:00
Handle case where the get_region() call fails.
This commit is contained in:
parent
347143e344
commit
725f8282b3
@ -514,9 +514,13 @@ PrintGCode::process_layer(size_t idx, const Layer* layer, const Points& copies)
|
|||||||
const auto n_slices {layer->slices.size()};
|
const auto n_slices {layer->slices.size()};
|
||||||
|
|
||||||
for (auto region_id = 0U; region_id < print.regions.size(); ++region_id) {
|
for (auto region_id = 0U; region_id < print.regions.size(); ++region_id) {
|
||||||
auto* layerm = layer->get_region(region_id); //or next; TODO: handle error case
|
LayerRegion* layerm;
|
||||||
auto* region = print.get_region(region_id);
|
try {
|
||||||
|
layerm = const_cast<LayerRegion*>(layer->get_region(region_id));
|
||||||
|
} catch (std::out_of_range &e) {
|
||||||
|
continue; // if no regions, bail;
|
||||||
|
}
|
||||||
|
auto* region {print.get_region(region_id)};
|
||||||
// process perimeters
|
// process perimeters
|
||||||
{
|
{
|
||||||
auto extruder_id = region->config.perimeter_extruder-1;
|
auto extruder_id = region->config.perimeter_extruder-1;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user