Record nested footprints for collision checking.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16410
This commit is contained in:
parent
c051e66830
commit
6a5adc7646
|
@ -626,10 +626,22 @@ bool EDIT_TOOL::doMoveSelection( const TOOL_EVENT& aEvent, BOARD_COMMIT* aCommit
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for( BOARD_ITEM* item : sel_items )
|
if( showCourtyardConflicts )
|
||||||
{
|
{
|
||||||
if( showCourtyardConflicts && item->Type() == PCB_FOOTPRINT_T )
|
std::vector<FOOTPRINT*>& FPs = drc_on_move->m_FpInMove;
|
||||||
drc_on_move->m_FpInMove.push_back( static_cast<FOOTPRINT*>( item ) );
|
|
||||||
|
for( BOARD_ITEM* item : sel_items )
|
||||||
|
{
|
||||||
|
if( item->Type() == PCB_FOOTPRINT_T )
|
||||||
|
FPs.push_back( static_cast<FOOTPRINT*>( item ) );
|
||||||
|
|
||||||
|
item->RunOnDescendants(
|
||||||
|
[&]( BOARD_ITEM* descendent )
|
||||||
|
{
|
||||||
|
if( descendent->Type() == PCB_FOOTPRINT_T )
|
||||||
|
FPs.push_back( static_cast<FOOTPRINT*>( descendent ) );
|
||||||
|
} );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_cursor = grid.BestDragOrigin( originalCursorPos, sel_items,
|
m_cursor = grid.BestDragOrigin( originalCursorPos, sel_items,
|
||||||
|
|
Loading…
Reference in New Issue