|
|
|
@ -1078,8 +1078,12 @@ void PCB_PAINTER::draw( const PAD* aPad, int aLayer ) |
|
|
|
|
|
|
|
std::unique_ptr<PAD> dummyPad; |
|
|
|
std::shared_ptr<SHAPE_COMPOUND> shapes; |
|
|
|
bool simpleShapes = true; |
|
|
|
|
|
|
|
// Drawing components of compound shapes in outline mode produces a mess.
|
|
|
|
bool simpleShapes = !m_pcbSettings.m_sketchMode[LAYER_PADS_TH]; |
|
|
|
|
|
|
|
if( simpleShapes ) |
|
|
|
{ |
|
|
|
if( ( margin.x != margin.y && aPad->GetShape() != PAD_SHAPE::CUSTOM ) |
|
|
|
|| ( aPad->GetShape() == PAD_SHAPE::ROUNDRECT && ( margin.x < 0 || margin.y < 0 ) ) ) |
|
|
|
{ |
|
|
|
@ -1122,10 +1126,6 @@ void PCB_PAINTER::draw( const PAD* aPad, int aLayer ) |
|
|
|
|
|
|
|
for( const SHAPE* shape : shapes->Shapes() ) |
|
|
|
{ |
|
|
|
// Drawing components of compound shapes in outline mode produces a mess.
|
|
|
|
if( m_pcbSettings.m_sketchMode[LAYER_PADS_TH] ) |
|
|
|
simpleShapes = false; |
|
|
|
|
|
|
|
if( !simpleShapes ) |
|
|
|
break; |
|
|
|
|
|
|
|
@ -1144,6 +1144,7 @@ void PCB_PAINTER::draw( const PAD* aPad, int aLayer ) |
|
|
|
break; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if( simpleShapes ) |
|
|
|
{ |
|
|
|
|