diff --git a/pcbnew/pcb_base_frame.cpp b/pcbnew/pcb_base_frame.cpp index d38fbe3234..e62fb8beac 100644 --- a/pcbnew/pcb_base_frame.cpp +++ b/pcbnew/pcb_base_frame.cpp @@ -273,16 +273,21 @@ void PCB_BASE_FRAME::FocusOnItems( std::vector aItems, PCB_LAYER_ID { static std::vector lastBrightenedItemIDs; + bool itemsUnbrightened = false; + for( KIID lastBrightenedItemID : lastBrightenedItemIDs ) { if( BOARD_ITEM* lastItem = GetBoard()->ResolveItem( lastBrightenedItemID, true ) ) { lastItem->ClearBrightened(); GetCanvas()->GetView()->Update( lastItem ); - GetCanvas()->Refresh(); + itemsUnbrightened = true; } } + if( itemsUnbrightened ) + GetCanvas()->Refresh(); + lastBrightenedItemIDs.clear(); if( aItems.empty() )