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.
This commit is contained in:
jean-pierre charras 2020-04-11 16:08:10 +02:00
parent 8854b799e8
commit 48a0f25ce6
1 changed files with 3 additions and 2 deletions

View File

@ -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 );