diff --git a/pcbnew/convert_shape_list_to_polygon.cpp b/pcbnew/convert_shape_list_to_polygon.cpp index 9f4b91ecc4..d15b1db232 100644 --- a/pcbnew/convert_shape_list_to_polygon.cpp +++ b/pcbnew/convert_shape_list_to_polygon.cpp @@ -230,6 +230,17 @@ static void processClosedShape( PCB_SHAPE* aShape, SHAPE_LINE_CHAIN& aContour, SHAPE_POLY_SET poly; rr.TransformToPolygon( poly ); aContour.Append( poly.Outline( 0 ) ); + + for( int ii = 1; ii < aContour.PointCount(); ++ii ) + { + aShapeOwners[ std::make_pair( aContour.CPoint( ii - 1 ), + aContour.CPoint( ii ) ) ] = aShape; + } + + if( !aAllowUseArcsInPolygons ) + aContour.ClearArcs(); + + aContour.SetClosed( true ); break; }