Browse Source

Don't remove nonexistent entries from wxArrayStrings (KICAD-PG7)

pull/18/head
Jeff Young 4 months ago
parent
commit
51e244d7d4
  1. 12
      3d-viewer/dialogs/appearance_controls_3D.cpp
  2. 22
      eeschema/dialogs/dialog_symbol_fields_table.cpp
  3. 21
      pcbnew/widgets/appearance_controls.cpp

12
3d-viewer/dialogs/appearance_controls_3D.cpp

@ -965,7 +965,9 @@ void APPEARANCE_CONTROLS_3D::onViewportChanged( wxCommandEvent& aEvent )
if( !viewport->name.IsEmpty() )
{
m_viewportMRU.Remove( viewport->name );
if( m_viewportMRU.Index( viewport->name ) != wxNOT_FOUND )
m_viewportMRU.Remove( viewport->name );
m_viewportMRU.Insert( viewport->name, 0 );
}
}
@ -1000,7 +1002,9 @@ void APPEARANCE_CONTROLS_3D::onViewportChanged( wxCommandEvent& aEvent )
{
m_viewports[name].matrix = m_frame->GetCurrentCamera().GetViewMatrix();
index = m_cbViewports->FindString( name );
m_viewportMRU.Remove( name );
if( m_viewportMRU.Index( name ) != wxNOT_FOUND )
m_viewportMRU.Remove( name );
}
m_cbViewports->SetSelection( index );
@ -1035,8 +1039,10 @@ void APPEARANCE_CONTROLS_3D::onViewportChanged( wxCommandEvent& aEvent )
{
m_viewports.erase( viewportName );
m_cbViewports->Delete( idx );
m_viewportMRU.Remove( viewportName );
}
if( m_viewportMRU.Index( viewportName ) != wxNOT_FOUND )
m_viewportMRU.Remove( viewportName );
}
if( m_lastSelectedViewport )

22
eeschema/dialogs/dialog_symbol_fields_table.cpp

@ -1819,7 +1819,9 @@ void DIALOG_SYMBOL_FIELDS_TABLE::onBomPresetChanged( wxCommandEvent& aEvent )
preset->name = name;
index = m_cbBomPresets->FindString( name );
m_bomPresetMRU.Remove( name );
if( m_bomPresetMRU.Index( name ) != wxNOT_FOUND )
m_bomPresetMRU.Remove( name );
}
m_currentBomPreset = preset;
@ -1860,9 +1862,10 @@ void DIALOG_SYMBOL_FIELDS_TABLE::onBomPresetChanged( wxCommandEvent& aEvent )
m_cbBomPresets->Delete( idx );
m_currentBomPreset = nullptr;
}
if( m_bomPresetMRU.Index( presetName ) != wxNOT_FOUND )
m_bomPresetMRU.Remove( presetName );
}
}
resetSelection();
@ -1882,7 +1885,9 @@ void DIALOG_SYMBOL_FIELDS_TABLE::onBomPresetChanged( wxCommandEvent& aEvent )
if( !m_currentBomPreset->name.IsEmpty() )
{
m_bomPresetMRU.Remove( preset->name );
if( m_bomPresetMRU.Index( preset->name ) != wxNOT_FOUND )
m_bomPresetMRU.Remove( preset->name );
m_bomPresetMRU.Insert( preset->name, 0 );
}
}
@ -2219,7 +2224,9 @@ void DIALOG_SYMBOL_FIELDS_TABLE::onBomFmtPresetChanged( wxCommandEvent& aEvent )
preset->name = name;
index = m_cbBomFmtPresets->FindString( name );
m_bomFmtPresetMRU.Remove( name );
if( m_bomFmtPresetMRU.Index( name ) != wxNOT_FOUND )
m_bomFmtPresetMRU.Remove( name );
}
m_currentBomFmtPreset = preset;
@ -2260,9 +2267,10 @@ void DIALOG_SYMBOL_FIELDS_TABLE::onBomFmtPresetChanged( wxCommandEvent& aEvent )
m_cbBomFmtPresets->Delete( idx );
m_currentBomFmtPreset = nullptr;
}
if( m_bomFmtPresetMRU.Index( presetName ) != wxNOT_FOUND )
m_bomFmtPresetMRU.Remove( presetName );
}
}
resetSelection();
@ -2282,7 +2290,9 @@ void DIALOG_SYMBOL_FIELDS_TABLE::onBomFmtPresetChanged( wxCommandEvent& aEvent )
if( !m_currentBomFmtPreset->name.IsEmpty() )
{
m_bomFmtPresetMRU.Remove( preset->name );
if( m_bomFmtPresetMRU.Index( preset->name ) != wxNOT_FOUND )
m_bomFmtPresetMRU.Remove( preset->name );
m_bomFmtPresetMRU.Insert( preset->name, 0 );
}
}

21
pcbnew/widgets/appearance_controls.cpp

@ -2803,7 +2803,7 @@ void APPEARANCE_CONTROLS::onLayerPresetChanged( wxCommandEvent& aEvent )
index = m_cbLayerPresets->FindString( name );
if( index != wxNOT_FOUND )
if( m_presetMRU.Index( name ) != wxNOT_FOUND )
m_presetMRU.Remove( name );
}
@ -2845,9 +2845,10 @@ void APPEARANCE_CONTROLS::onLayerPresetChanged( wxCommandEvent& aEvent )
m_cbLayerPresets->Delete( idx );
m_currentPreset = nullptr;
}
if( m_presetMRU.Index( presetName ) != wxNOT_FOUND )
m_presetMRU.Remove( presetName );
}
}
resetSelection();
@ -2884,7 +2885,9 @@ void APPEARANCE_CONTROLS::onLayerPresetChanged( wxCommandEvent& aEvent )
{
const wxString translatedName = wxGetTranslation( m_currentPreset->name );
m_presetMRU.Remove( translatedName );
if( m_presetMRU.Index( translatedName ) != wxNOT_FOUND )
m_presetMRU.Remove( translatedName );
m_presetMRU.Insert( translatedName, 0 );
}
@ -2981,7 +2984,9 @@ void APPEARANCE_CONTROLS::onViewportChanged( wxCommandEvent& aEvent )
if( !viewport->name.IsEmpty() )
{
m_viewportMRU.Remove( viewport->name );
if( m_viewportMRU.Index( viewport->name ) != wxNOT_FOUND )
m_viewportMRU.Remove( viewport->name );
m_viewportMRU.Insert( viewport->name, 0 );
}
}
@ -3016,7 +3021,9 @@ void APPEARANCE_CONTROLS::onViewportChanged( wxCommandEvent& aEvent )
{
m_viewports[name].rect = m_frame->GetCanvas()->GetView()->GetViewport();
index = m_cbViewports->FindString( name );
m_viewportMRU.Remove( name );
if( m_viewportMRU.Index( name ) != wxNOT_FOUND )
m_viewportMRU.Remove( name );
}
m_cbViewports->SetSelection( index );
@ -3051,8 +3058,10 @@ void APPEARANCE_CONTROLS::onViewportChanged( wxCommandEvent& aEvent )
{
m_viewports.erase( viewportName );
m_cbViewports->Delete( idx );
m_viewportMRU.Remove( viewportName );
}
if( m_viewportMRU.Index( viewportName ) != wxNOT_FOUND )
m_viewportMRU.Remove( viewportName );
}
if( m_lastSelectedViewport )

Loading…
Cancel
Save