diff --git a/pcbnew/router/router_tool.cpp b/pcbnew/router/router_tool.cpp index 61b0149f4c..6575e3d482 100644 --- a/pcbnew/router/router_tool.cpp +++ b/pcbnew/router/router_tool.cpp @@ -1836,6 +1836,24 @@ int ROUTER_TOOL::InlineDrag( const TOOL_EVENT& aEvent ) view()->Hide( drawing, true ); } + for( PAD* pad : footprint->Pads() ) + { + if( ( pad->GetLayerSet() & LSET::AllCuMask() ).none() + && pad->GetDrillSize().x == 0 ) + { + previewItem = static_cast( pad->Clone() ); + previewItem->Move( offset ); + + view()->AddToPreview( previewItem ); + } + else + { + // Pads with copper or holes are handled by the router + } + + view()->Hide( pad, true ); + } + previewItem = static_cast( footprint->Reference().Clone() ); previewItem->Move( offset ); view()->AddToPreview( previewItem ); @@ -1900,6 +1918,9 @@ int ROUTER_TOOL::InlineDrag( const TOOL_EVENT& aEvent ) for( ZONE* zone : footprint->Zones() ) view()->Hide( zone, false ); + for( PAD* pad : footprint->Pads() ) + view()->Hide( pad, false ); + view()->ClearPreview(); view()->ShowPreview( false );