When dragging footprints pads with holes also need to be taken along.
Otherwise (aside from not colliding with their dragged location) we won't update their locations and then if they happen to be the first pad in the footprint we'll try to update the footprint's location post- drag with the pad offset (which will be {0,0}. This is easily reproducible with the test document in the bug in the "fixes" statement. Fixes https://gitlab.com/kicad/code/kicad/issues/9391
This commit is contained in:
parent
f9e1429c60
commit
ade8fe4333
|
@ -117,14 +117,14 @@ bool COMPONENT_DRAGGER::Start( const VECTOR2I& aP, ITEM_SET& aPrimitives )
|
|||
if( item.item->Kind() != ITEM::SOLID_T )
|
||||
continue;
|
||||
|
||||
if( ! item.item->IsRoutable() )
|
||||
continue;
|
||||
|
||||
auto solid = static_cast<SOLID*>( item.item );
|
||||
auto jt = m_world->FindJoint( solid->Pos(), solid );
|
||||
|
||||
m_solids.insert( solid );
|
||||
|
||||
if( ! item.item->IsRoutable() )
|
||||
continue;
|
||||
|
||||
for( auto link : jt->LinkList() )
|
||||
{
|
||||
if( link.item->OfKind( ITEM::SEGMENT_T | ITEM::ARC_T ) )
|
||||
|
|
Loading…
Reference in New Issue