diff --git a/pcbnew/dialogs/dialog_copper_zones.cpp b/pcbnew/dialogs/dialog_copper_zones.cpp index cdc31d4a99..b6acd06d3e 100644 --- a/pcbnew/dialogs/dialog_copper_zones.cpp +++ b/pcbnew/dialogs/dialog_copper_zones.cpp @@ -79,7 +79,6 @@ private: void readNetInformation(); void readFilteringAndSortingCriteria(); - void buildListOfNets( const NETINFO_LIST& nets ); wxArrayString buildListOfNetsToDisplay(); void sortNetsByPadCount( std::vector& nets, const int maxNetCode ); void updateDisplayedListOfNets(); @@ -386,24 +385,15 @@ void DIALOG_COPPER_ZONE::readNetInformation() { NETINFO_LIST& netInfoList = m_Parent->GetBoard()->GetNetInfo(); - if( netInfoList.GetNetCount() > 0 ) - { - buildListOfNets( netInfoList ); - } -} - - -void DIALOG_COPPER_ZONE::buildListOfNets( const NETINFO_LIST& nets ) -{ m_netInfoItemList.clear(); - m_netInfoItemList.reserve( nets.GetNetCount() ); + m_netInfoItemList.reserve( netInfoList.GetNetCount() ); m_netNameToNetCode.clear(); m_netNameToNetCode[wxT( "" )] = INVALID_NET_CODE; m_maxNetCode = INVALID_NET_CODE; - for( NETINFO_ITEM* net : nets ) + for( NETINFO_ITEM* net : netInfoList ) { const int& netCode = net->GetNetCode(); const wxString& netName = getUnescapedNetName( net ); @@ -416,6 +406,8 @@ void DIALOG_COPPER_ZONE::buildListOfNets( const NETINFO_LIST& nets ) m_maxNetCode = std::max( netCode, m_maxNetCode ); } } + + updateDisplayedListOfNets(); } @@ -624,7 +616,7 @@ bool DIALOG_COPPER_ZONE::AcceptOptions( bool aUseExportableSetupOnly ) void DIALOG_COPPER_ZONE::updateCurrentNetSelection() { - const int netSelection{ m_ListNetNameSelection->GetSelection() }; + const int netSelection = m_ListNetNameSelection->GetSelection(); if( netSelection > 0 ) { @@ -675,17 +667,13 @@ void DIALOG_COPPER_ZONE::storePersistentNetSortConfigurations() { // These configurations are persistent across multiple invocations of // this dialog - int newConfig{ NO_PERSISTENT_SORT_MODE }; + int newConfig = NO_PERSISTENT_SORT_MODE; if( m_hideAutoGeneratedNets ) - { newConfig |= HIDE_ANONYMOUS_NETS; - } if( m_netSortingByPadCount ) - { newConfig |= SORT_BY_PAD_COUNT; - } PCBNEW_SETTINGS* cfg = m_Parent->GetPcbNewSettings(); cfg->m_Zones.net_sort_mode = newConfig; @@ -694,16 +682,14 @@ void DIALOG_COPPER_ZONE::storePersistentNetSortConfigurations() void DIALOG_COPPER_ZONE::loadPersistentNetSortConfigurations() { - PCBNEW_SETTINGS* cfg{ m_Parent->GetPcbNewSettings() }; - int savedConfig{ cfg->m_Zones.net_sort_mode }; + PCBNEW_SETTINGS* cfg = m_Parent->GetPcbNewSettings(); + int sortMode = cfg->m_Zones.net_sort_mode; - if( savedConfig == DEFAULT_SORT_CONFIG ) - { - savedConfig = HIDE_ANONYMOUS_NETS; - } + if( sortMode == DEFAULT_SORT_CONFIG ) + sortMode = HIDE_ANONYMOUS_NETS; - m_hideAutoGeneratedNets = ( savedConfig & HIDE_ANONYMOUS_NETS ); - m_netSortingByPadCount = ( savedConfig & SORT_BY_PAD_COUNT ); + m_hideAutoGeneratedNets = ( sortMode & HIDE_ANONYMOUS_NETS ); + m_netSortingByPadCount = ( sortMode & SORT_BY_PAD_COUNT ); } @@ -919,6 +905,7 @@ void DIALOG_COPPER_ZONE::displayNetsList( const wxArrayString& netNamesList, int int DIALOG_COPPER_ZONE::ensureSelectedNetIsVisible( int selectedNetCode, wxArrayString& netsList ) { int selectedIndex = 0; + if( selectedNetCode > INVALID_NET_CODE ) { NETINFO_ITEM* selectedNet = m_Parent->GetBoard()->FindNet( selectedNetCode );