From a0d559e8845ae03ac1d806b8f36dfde7e9548ac7 Mon Sep 17 00:00:00 2001 From: Mike Williams Date: Thu, 3 Aug 2023 09:09:13 -0400 Subject: [PATCH] Backannotation: skip fields that are individually controlled Fixes: https://gitlab.com/kicad/code/kicad/-/issues/15337 --- eeschema/tools/backannotate.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/eeschema/tools/backannotate.cpp b/eeschema/tools/backannotate.cpp index fc97685e5a..19f8931d5b 100644 --- a/eeschema/tools/backannotate.cpp +++ b/eeschema/tools/backannotate.cpp @@ -499,6 +499,14 @@ void BACK_ANNOTATE::applyChangelist() const wxString& fpFieldValue = field.second; SCH_FIELD* symField = symbol->FindField( fpFieldName ); + // Skip fields that are individually controlled + if( fpFieldName == TEMPLATE_FIELDNAME::GetDefaultFieldName( REFERENCE_FIELD ) + || fpFieldName == TEMPLATE_FIELDNAME::GetDefaultFieldName( VALUE_FIELD ) + || fpFieldName == TEMPLATE_FIELDNAME::GetDefaultFieldName( FOOTPRINT_FIELD ) ) + { + continue; + } + // 1. Existing fields has changed value // PCB Field value is checked against the shown text because this is the value // with all the variables resolved. The footprints field value gets the symbol's