diff --git a/pcbnew/tools/align_distribute_tool.cpp b/pcbnew/tools/align_distribute_tool.cpp index cb0750e4b9..cf81275c91 100644 --- a/pcbnew/tools/align_distribute_tool.cpp +++ b/pcbnew/tools/align_distribute_tool.cpp @@ -150,6 +150,8 @@ size_t ALIGN_DISTRIBUTE_TOOL::GetSelections( std::vectorIsFootprintEditor() + || m_frame->GetPcbNewSettings()->m_AllowFreePads; for( EDA_ITEM* item : selection ) { @@ -192,7 +194,7 @@ size_t ALIGN_DISTRIBUTE_TOOL::GetSelections( std::vector( item ); - if( allPads && differentParents ) + if( boardItem->Type() == PCB_PAD_T && ( !allowFreePads || ( allPads && differentParents ) ) ) { FOOTPRINT* parentFp = boardItem->GetParentFootprint();