Don't throw DRC errors for hidden copper text.

Fixes: lp:1808651
* https://bugs.launchpad.net/kicad/+bug/1808651
This commit is contained in:
Jeff Young 2018-12-15 22:29:36 +00:00
parent f69ea8b4a2
commit 2e907bfaa3
1 changed files with 8 additions and 5 deletions

View File

@ -978,11 +978,14 @@ void DRC::testCopperTextAndGraphics()
for( MODULE* module : m_pcb->Modules() ) for( MODULE* module : m_pcb->Modules() )
{ {
if( IsCopperLayer( module->Reference().GetLayer() ) ) TEXTE_MODULE& ref = module->Reference();
testCopperTextItem( &module->Reference()); TEXTE_MODULE& val = module->Value();
if( IsCopperLayer( module->Value().GetLayer() ) ) if( ref.IsVisible() && IsCopperLayer( ref.GetLayer() ) )
testCopperTextItem( &module->Value()); testCopperTextItem( &ref );
if( val.IsVisible() && IsCopperLayer( val.GetLayer() ) )
testCopperTextItem( &val );
if( module->IsNetTie() ) if( module->IsNetTie() )
continue; continue;
@ -991,7 +994,7 @@ void DRC::testCopperTextAndGraphics()
{ {
if( IsCopperLayer( item->GetLayer() ) ) if( IsCopperLayer( item->GetLayer() ) )
{ {
if( item->Type() == PCB_MODULE_TEXT_T ) if( item->Type() == PCB_MODULE_TEXT_T && ( (TEXTE_MODULE*) item )->IsVisible() )
testCopperTextItem( item ); testCopperTextItem( item );
else if( item->Type() == PCB_MODULE_EDGE_T ) else if( item->Type() == PCB_MODULE_EDGE_T )
testCopperDrawItem( static_cast<DRAWSEGMENT*>( item )); testCopperDrawItem( static_cast<DRAWSEGMENT*>( item ));