diff --git a/src/libslic3r/SupportSpotsGenerator.cpp b/src/libslic3r/SupportSpotsGenerator.cpp index 8936830f20..e1ae58fd21 100644 --- a/src/libslic3r/SupportSpotsGenerator.cpp +++ b/src/libslic3r/SupportSpotsGenerator.cpp @@ -183,8 +183,11 @@ SliceConnection estimate_slice_connection(size_t slice_idx, const Layer *layer) BoundingBox slice_bb = get_extents(slice_polys); const Layer *lower_layer = layer->lower_layer; + std::unordered_set linked_slices_below; + for (const auto &link : slice.overlaps_below) { linked_slices_below.insert(link.slice_idx); } + ExPolygons below{}; - for (const auto &link : slice.overlaps_below) { below.push_back(lower_layer->lslices[link.slice_idx]); } + for (const auto &linked_slice_idx_below : linked_slices_below) { below.push_back(lower_layer->lslices[linked_slice_idx_below]); } Polygons below_polys = to_polygons(below); BoundingBox below_bb = get_extents(below_polys);