diff --git a/lib/Slic3r/Geometry.pm b/lib/Slic3r/Geometry.pm index 3c884e93..7b66d40e 100644 --- a/lib/Slic3r/Geometry.pm +++ b/lib/Slic3r/Geometry.pm @@ -242,6 +242,7 @@ sub polygon_lines { sub nearest_point { my ($point, $points) = @_; my $index = nearest_point_index(@_); + return undef if !defined $index; return $points->[$index]; } diff --git a/lib/Slic3r/Print.pm b/lib/Slic3r/Print.pm index 8accf1dd..e81243f4 100644 --- a/lib/Slic3r/Print.pm +++ b/lib/Slic3r/Print.pm @@ -462,7 +462,8 @@ EOF foreach my $expolygon (@unsupported_slices) { # look for the nearest point to this island among all # supported points - my $support_point = nearest_point($expolygon->contour->[0], \@supported_points); + my $support_point = nearest_point($expolygon->contour->[0], \@supported_points) + or next; my $anchor_point = nearest_point($support_point, $expolygon->contour->[0]); printf $fh qq{ \n}, map @$_, $support_point, $anchor_point;