diff --git a/src/libslic3r/SLA/SupportIslands/UniformSupportIsland.cpp b/src/libslic3r/SLA/SupportIslands/UniformSupportIsland.cpp index 6ed9b51c09..13cf9b5572 100644 --- a/src/libslic3r/SLA/SupportIslands/UniformSupportIsland.cpp +++ b/src/libslic3r/SLA/SupportIslands/UniformSupportIsland.cpp @@ -19,6 +19,7 @@ #include #include #include +#include #include "VoronoiGraph.hpp" #include "Parabola.hpp" @@ -2121,6 +2122,12 @@ coord_t get_longest_distance(const IslandPartChanges& changes, Position* center // case with center on change neighbor should be already handled assert(node_distance != nullptr); + if (node_distance == nullptr) + // weird situation - hack to not crash on SPE-2714 + throw Slic3r::RuntimeError("Can't sample island."); + + //if (node_distance == nullptr) + // return farest_from_change; assert(node_distance->shortest_distances[change_index].distance >= half_distance); assert(prev_node_distance->shortest_distances[change_index].distance <= half_distance); coord_t to_half_distance = half_distance - node_distance->shortest_distances[change_index].distance;