Don't Simplify() polys with arcs in them.

Fixes https://gitlab.com/kicad/code/kicad/issues/13134
This commit is contained in:
Jeff Young 2022-12-12 12:54:00 +00:00
parent c7603372b5
commit 45eae3e594
2 changed files with 8 additions and 2 deletions

View File

@ -1227,6 +1227,7 @@ void SCH_MOVE_TOOL::getConnectedDragItems( SCH_ITEM* aSelectedItem, const VECTOR
// Split line in half
if( !line->IsNew() )
{
line->SetFlags( SELECTED_BY_DRAG );
saveCopyInUndoList( line, UNDO_REDO::CHANGED, aAppendUndo );
aAppendUndo = true;
}
@ -1237,9 +1238,11 @@ void SCH_MOVE_TOOL::getConnectedDragItems( SCH_ITEM* aSelectedItem, const VECTOR
SCH_LINE* secondHalf = makeNewWire( line, line, aPoint, oldEnd );
SCH_JUNCTION* junction = makeNewJunction( line, aPoint );
secondHalf->SetFlags( SELECTED_BY_DRAG );
saveCopyInUndoList( secondHalf, UNDO_REDO::NEWITEM, aAppendUndo );
aAppendUndo = true;
junction->SetFlags( SELECTED_BY_DRAG );
saveCopyInUndoList( junction, UNDO_REDO::NEWITEM, aAppendUndo );
aAppendUndo = true;

View File

@ -257,7 +257,11 @@ int CONVERT_TOOL::CreatePolys( const TOOL_EVENT& aEvent )
if( polySet.IsEmpty() )
return false;
polySet.Simplify( SHAPE_POLY_SET::PM_FAST );
if( cfg.m_Strategy == BOUNDING_HULL )
{
polySet.ClearArcs();
polySet.Simplify( SHAPE_POLY_SET::PM_FAST );
}
for( int ii = 0; ii < polySet.OutlineCount(); ++ii )
{
@ -621,7 +625,6 @@ SHAPE_POLY_SET CONVERT_TOOL::makePolysFromChainedSegs( const std::deque<EDA_ITEM
}
outline.SetClosed( true );
outline.Simplify();
poly.AddOutline( outline );