Browse Source

Don't crash on empty SHAPE_LINE_CHAINs.

Fixes https://gitlab.com/kicad/code/kicad/issues/12407
7.0
Jeff Young 3 years ago
parent
commit
fc74de81fb
  1. 12
      libs/kimath/src/geometry/shape_line_chain.cpp

12
libs/kimath/src/geometry/shape_line_chain.cpp

@ -1788,6 +1788,12 @@ SHAPE_LINE_CHAIN& SHAPE_LINE_CHAIN::Simplify( bool aRemoveColinear )
const VECTOR2I SHAPE_LINE_CHAIN::NearestPoint( const VECTOR2I& aP,
bool aAllowInternalShapePoints ) const
{
if( PointCount() == 0 )
{
// The only right answer here is "don't crash".
return { 0, 0 };
}
int min_d = INT_MAX;
int nearest = 0;
@ -1839,6 +1845,12 @@ const VECTOR2I SHAPE_LINE_CHAIN::NearestPoint( const VECTOR2I& aP,
const VECTOR2I SHAPE_LINE_CHAIN::NearestPoint( const SEG& aSeg, int& dist ) const
{
if( PointCount() == 0 )
{
// The only right answer here is "don't crash".
return { 0, 0 };
}
int nearest = 0;
dist = INT_MAX;

Loading…
Cancel
Save