Don't allow Edge_Cuts or Margin in footprint private layers.

Fixes https://gitlab.com/kicad/code/kicad/issues/11431
This commit is contained in:
Jeff Young 2022-04-27 17:13:50 +01:00
parent 2cccd5b090
commit 37aa42d1e3
3 changed files with 10 additions and 1 deletions

View File

@ -59,6 +59,8 @@ PRIVATE_LAYERS_GRID_TABLE::PRIVATE_LAYERS_GRID_TABLE( PCB_BASE_FRAME* aFrame ) :
m_layerColAttr->SetRenderer( new GRID_CELL_LAYER_RENDERER( m_frame ) );
LSET forbiddenLayers = LSET::AllCuMask() | LSET::AllTechMask();
forbiddenLayers.set( Edge_Cuts );
forbiddenLayers.set( Margin );
m_layerColAttr->SetEditor( new GRID_CELL_LAYER_SELECTOR( m_frame, forbiddenLayers ) );
}

View File

@ -3636,6 +3636,12 @@ FOOTPRINT* PCB_PARSER::parseFOOTPRINT_unchecked( wxArrayString* aInitialComments
Expecting( "layer name" );
}
if( m_requiredVersion < 20220427 )
{
privateLayers.set( Edge_Cuts, false );
privateLayers.set( Margin, false );
}
footprint->SetPrivateLayers( privateLayers );
break;
}

View File

@ -120,7 +120,8 @@ class SHAPE_LINE_CHAIN;
//#define SEXPR_BOARD_FILE_VERSION 20220225 // Remove TEDIT
//#define SEXPR_BOARD_FILE_VERSION 20220308 // Knockout text and Locked graphic text property saved
//#define SEXPR_BOARD_FILE_VERSION 20220331 // Plot on all layers selection setting
#define SEXPR_BOARD_FILE_VERSION 20220417 // Automatic dimension precisions
//#define SEXPR_BOARD_FILE_VERSION 20220417 // Automatic dimension precisions
#define SEXPR_BOARD_FILE_VERSION 20220427 // Exclude Edge.Cuts & Margin from fp private layers
#define BOARD_FILE_HOST_VERSION 20200825 ///< Earlier files than this include the host tag
#define LEGACY_ARC_FORMATTING 20210925 ///< These were the last to use old arc formatting