Loading eeschema/read_from_file_schematic_items_descriptions.cpp +12 −9 Original line number Original line Diff line number Diff line Loading @@ -703,17 +703,20 @@ int ReadPartDescr( wxWindow* frame, char* Line, FILE* f, wxString& aMsgDiag, if( fieldNdx >= component->GetFieldCount() ) if( fieldNdx >= component->GetFieldCount() ) { { // add as many fields as needed so the m_FieldId's are // The first MANDATOR_FIELDS _must_ be constructed within // contiguous, no gaps. // the SCH_COMPONENT constructor. This assert is simply here while( fieldNdx >= component->GetFieldCount() ) // to guard against a change in that constructor. { wxASSERT( component->GetFieldCount() >= MANDATORY_FIELDS ); int newNdx = component->GetFieldCount(); // Ignore the _supplied_ fieldNdx. It is not important anymore // if within the user defined fields region (i.e. >= MANDATORY_FIELDS). // We freely renumber the index to fit the next available field slot. SCH_FIELD field( wxPoint( 0, 0 ), newNdx, component, fieldNdx = component->GetFieldCount(); // new has this index after insertion fieldName ); SCH_FIELD field( wxPoint( 0, 0 ), fieldNdx, component, fieldName ); component->AddField( field ); component->AddField( field ); } } } else else { { component->GetField( fieldNdx )->m_Name = fieldName; component->GetField( fieldNdx )->m_Name = fieldName; Loading eeschema/template_fieldnames.h +3 −1 Original line number Original line Diff line number Diff line Loading @@ -24,7 +24,9 @@ enum NumFieldType { FOOTPRINT, ///< Field Name Module PCB, i.e. "16DIP300" FOOTPRINT, ///< Field Name Module PCB, i.e. "16DIP300" DATASHEET, ///< name of datasheet DATASHEET, ///< name of datasheet MANDATORY_FIELDS, ///< the first 4 are mandatory or fixed, and instantiated in FIELD constructors /// The first 4 are mandatory, and must be instantiated in SCH_COMPONENT /// and LIB_COMPONENT constructors MANDATORY_FIELDS, FIELD1 = MANDATORY_FIELDS, FIELD1 = MANDATORY_FIELDS, FIELD2, FIELD2, Loading Loading
eeschema/read_from_file_schematic_items_descriptions.cpp +12 −9 Original line number Original line Diff line number Diff line Loading @@ -703,17 +703,20 @@ int ReadPartDescr( wxWindow* frame, char* Line, FILE* f, wxString& aMsgDiag, if( fieldNdx >= component->GetFieldCount() ) if( fieldNdx >= component->GetFieldCount() ) { { // add as many fields as needed so the m_FieldId's are // The first MANDATOR_FIELDS _must_ be constructed within // contiguous, no gaps. // the SCH_COMPONENT constructor. This assert is simply here while( fieldNdx >= component->GetFieldCount() ) // to guard against a change in that constructor. { wxASSERT( component->GetFieldCount() >= MANDATORY_FIELDS ); int newNdx = component->GetFieldCount(); // Ignore the _supplied_ fieldNdx. It is not important anymore // if within the user defined fields region (i.e. >= MANDATORY_FIELDS). // We freely renumber the index to fit the next available field slot. SCH_FIELD field( wxPoint( 0, 0 ), newNdx, component, fieldNdx = component->GetFieldCount(); // new has this index after insertion fieldName ); SCH_FIELD field( wxPoint( 0, 0 ), fieldNdx, component, fieldName ); component->AddField( field ); component->AddField( field ); } } } else else { { component->GetField( fieldNdx )->m_Name = fieldName; component->GetField( fieldNdx )->m_Name = fieldName; Loading
eeschema/template_fieldnames.h +3 −1 Original line number Original line Diff line number Diff line Loading @@ -24,7 +24,9 @@ enum NumFieldType { FOOTPRINT, ///< Field Name Module PCB, i.e. "16DIP300" FOOTPRINT, ///< Field Name Module PCB, i.e. "16DIP300" DATASHEET, ///< name of datasheet DATASHEET, ///< name of datasheet MANDATORY_FIELDS, ///< the first 4 are mandatory or fixed, and instantiated in FIELD constructors /// The first 4 are mandatory, and must be instantiated in SCH_COMPONENT /// and LIB_COMPONENT constructors MANDATORY_FIELDS, FIELD1 = MANDATORY_FIELDS, FIELD1 = MANDATORY_FIELDS, FIELD2, FIELD2, Loading