Update marker view when setting excluded.

Fixes https://gitlab.com/kicad/code/kicad/issues/6254
This commit is contained in:
Jeff Young 2020-11-02 20:03:23 +00:00
parent 89e21d28f0
commit 56c57c4cca
2 changed files with 13 additions and 4 deletions

View File

@ -193,7 +193,7 @@ std::vector<MARKER_PCB*> BOARD::ResolveDRCExclusions()
}
}
std::vector<MARKER_PCB*> markers;
std::vector<MARKER_PCB*> newMarkers;
for( const wxString& exclusionData : m_designSettings->m_DrcExclusions )
{
@ -202,13 +202,13 @@ std::vector<MARKER_PCB*> BOARD::ResolveDRCExclusions()
if( marker )
{
marker->SetExcluded( true );
markers.push_back( marker );
newMarkers.push_back( marker );
}
}
m_designSettings->m_DrcExclusions.clear();
return markers;
return newMarkers;
}

View File

@ -732,9 +732,18 @@ void PCB_EDIT_FRAME::ResolveDRCExclusions()
BOARD_COMMIT commit( this );
for( MARKER_PCB* marker : GetBoard()->ResolveDRCExclusions() )
commit.Add( marker );
commit.Add( marker );
commit.Push( wxEmptyString, false, false );
for( MARKER_PCB* marker : GetBoard()->Markers() )
{
if( marker->IsExcluded() )
{
GetCanvas()->GetView()->Remove( marker );
GetCanvas()->GetView()->Add( marker );
}
}
}