Bring adding-to-group and hiding in sync.

(cherry picked from commit 6a6ef9b1f4)
This commit is contained in:
Jeff Young 2022-09-30 16:44:24 +01:00
parent 3213ea582d
commit 2793e67bab
1 changed files with 6 additions and 6 deletions

View File

@ -2293,7 +2293,10 @@ void PCB_SELECTION_TOOL::unselect( BOARD_ITEM* aItem )
void PCB_SELECTION_TOOL::highlight( BOARD_ITEM* aItem, int aMode, PCB_SELECTION* aGroup )
{
if( aGroup )
{
aGroup->Add( aItem );
view()->Hide( aItem, true ); // Hide the original item, so it is shown only on overlay
}
highlightInternal( aItem, aMode, aGroup != nullptr );
view()->Update( aItem, KIGFX::REPAINT );
@ -2312,9 +2315,6 @@ void PCB_SELECTION_TOOL::highlightInternal( BOARD_ITEM* aItem, int aMode, bool a
else if( aMode == BRIGHTENED )
aItem->SetBrightened();
if( aUsingOverlay )
view()->Hide( aItem, true ); // Hide the original item, so it is shown only on overlay
if( aItem->Type() == PCB_FOOTPRINT_T )
{
static_cast<FOOTPRINT*>( aItem )->RunOnChildren(
@ -2337,7 +2337,10 @@ void PCB_SELECTION_TOOL::highlightInternal( BOARD_ITEM* aItem, int aMode, bool a
void PCB_SELECTION_TOOL::unhighlight( BOARD_ITEM* aItem, int aMode, PCB_SELECTION* aGroup )
{
if( aGroup )
{
aGroup->Remove( aItem );
view()->Hide( aItem, false ); // // Restore original item visibility
}
unhighlightInternal( aItem, aMode, aGroup != nullptr );
view()->Update( aItem, KIGFX::REPAINT );
@ -2355,9 +2358,6 @@ void PCB_SELECTION_TOOL::unhighlightInternal( BOARD_ITEM* aItem, int aMode, bool
else if( aMode == BRIGHTENED )
aItem->ClearBrightened();
if( aUsingOverlay )
view()->Hide( aItem, false ); // // Restore original item visibility
if( aItem->Type() == PCB_FOOTPRINT_T )
{
static_cast<FOOTPRINT*>( aItem )->RunOnChildren(