From c51e8ff0c691476a001ebf14e0ffcbd7e69dcf65 Mon Sep 17 00:00:00 2001 From: Jon Evans Date: Sat, 13 Feb 2021 11:04:55 -0500 Subject: [PATCH] Iterate over screens, not sheets, for bus alias loading Fixes https://gitlab.com/kicad/code/kicad/-/issues/7147 --- eeschema/dialogs/dialog_bus_manager.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/eeschema/dialogs/dialog_bus_manager.cpp b/eeschema/dialogs/dialog_bus_manager.cpp index 323d0e93e8..27f62a5f9c 100644 --- a/eeschema/dialogs/dialog_bus_manager.cpp +++ b/eeschema/dialogs/dialog_bus_manager.cpp @@ -198,14 +198,14 @@ bool DIALOG_BUS_MANAGER::TransferDataToWindow() m_aliases.clear(); m_screens.clear(); - const SCH_SHEET_LIST& sheets = m_parent->Schematic().GetSheets(); + SCH_SCREENS screens( m_parent->Schematic().Root() ); std::vector< std::shared_ptr > original_aliases; // collect aliases from each open sheet - for( unsigned i = 0; i < sheets.size(); i++ ) + for( SCH_SCREEN* screen = screens.GetFirst(); screen != NULL; screen = screens.GetNext() ) { - auto sheet_aliases = sheets[i].LastScreen()->GetBusAliases(); + std::unordered_set> sheet_aliases = screen->GetBusAliases(); original_aliases.insert( original_aliases.end(), sheet_aliases.begin(), sheet_aliases.end() ); }