Browse Source

bom export: don't break column order on mismatched column counts

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/20520
pull/18/head
Mike Williams 7 months ago
parent
commit
774cf6fbc8
  1. 19
      eeschema/fields_data_model.cpp

19
eeschema/fields_data_model.cpp

@ -138,19 +138,20 @@ std::vector<BOM_FIELD> FIELDS_EDITOR_GRID_DATA_MODEL::GetFieldsOrdered()
void FIELDS_EDITOR_GRID_DATA_MODEL::SetFieldsOrder( const std::vector<wxString>& aNewOrder )
{
if( aNewOrder.size() == m_cols.size() )
size_t foundCount = 0;
for( const wxString& newField : aNewOrder )
{
size_t foundCount = 0;
if( foundCount >= m_cols.size() )
break;
for( const wxString& newField : aNewOrder )
for( DATA_MODEL_COL& col : m_cols )
{
for( DATA_MODEL_COL& col : m_cols)
if( col.m_fieldName == newField )
{
if( col.m_fieldName == newField )
{
std::swap( m_cols[foundCount], col );
foundCount++;
}
std::swap( m_cols[foundCount], col );
foundCount++;
break;
}
}
}

Loading…
Cancel
Save