Don't special case power symbol re-annotation

When the designer asks to reset annotations, we reset all annotations
including power symbols.  This may create additional churn in the files
but only when requested and is useful to fix schematic errors

Fixes https://gitlab.com/kicad/code/kicad/issues/13138
This commit is contained in:
Seth Hillbrand 2023-01-23 13:16:38 -08:00
parent 67c703e9e2
commit 9861ed1a5f
3 changed files with 4 additions and 7 deletions

View File

@ -320,7 +320,7 @@ void SCH_EDIT_FRAME::AnnotateSymbols( ANNOTATE_SCOPE_T aAnnotateScope,
// that these references must be reannotated, but keeps the original reference
// so that we can reannotate multi-unit symbols together.
if( aResetAnnotation )
references.RemoveAnnotation( false );
references.RemoveAnnotation();
// Build additional list of references to be used during reannotation
// to avoid duplicate designators (no additional references when annotating

View File

@ -327,13 +327,10 @@ public:
* symbols.
* @see SCH_REFERENCE_LIST::UpdateAnnotation
*/
void RemoveAnnotation( bool aIncludePowerSymbols )
void RemoveAnnotation()
{
for( unsigned ii = 0; ii < GetCount(); ii++ )
{
if( !m_flatList[ii].m_libPart->IsPower() || aIncludePowerSymbols )
m_flatList[ii].m_isNew = true;
}
m_flatList[ii].m_isNew = true;
}
/**

View File

@ -248,7 +248,7 @@ BOOST_AUTO_TEST_CASE( Reannotate )
loadTestCase( c.m_SchematicRelativePath, c.m_ExpectedReannotations );
m_refsToReannotate.RemoveAnnotation( true );
m_refsToReannotate.RemoveAnnotation();
m_refsToReannotate.SplitReferences();
m_refsToReannotate.Annotate( false, 0, c.m_StartNumber, m_lockedRefs, getAdditionalRefs() );
m_refsToReannotate.UpdateAnnotation();