From 48a0f25ce6908cbefef9c721b0175afdcbd3898e Mon Sep 17 00:00:00 2001 From: jean-pierre charras Date: Sat, 11 Apr 2020 16:08:10 +0200 Subject: [PATCH] EE_COLLECTOR::Collect(): fix an issue when called with filter = SCH_LOCATE_ANY_T. When the filter = SCH_LOCATE_ANY_T, components and sheets were selected twice, one from the main loop, and one from specialized loops for SCH_COMPONENT_T and SCH_SHEET_T. --- eeschema/ee_collectors.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/eeschema/ee_collectors.cpp b/eeschema/ee_collectors.cpp index 53105de908..672cb68c4a 100644 --- a/eeschema/ee_collectors.cpp +++ b/eeschema/ee_collectors.cpp @@ -117,9 +117,10 @@ void EE_COLLECTOR::Collect( SCH_SCREEN* aScreen, const KICAD_T aFilterList[], co { for( SCH_ITEM* item : aScreen->Items().OfType( *filter ) ) { - if( *filter == SCH_COMPONENT_T ) + if( *filter == SCH_COMPONENT_T || *filter == SCH_LOCATE_ANY_T ) componentsVisited = true; - else if( *filter == SCH_SHEET_T ) + + if( *filter == SCH_SHEET_T || *filter == SCH_LOCATE_ANY_T ) sheetsVisited = true; item->Visit( m_inspector, nullptr, m_ScanTypes );