Use zone outline for instersection when it isn't filled.

Keepout zones, in particular, are never filled.

Fixes: lp:1791965
* https://bugs.launchpad.net/kicad/+bug/1791965
This commit is contained in:
Jeff Young 2018-09-12 00:26:48 +01:00
parent cbb3492d98
commit 8b064e1ee2
1 changed files with 7 additions and 1 deletions

View File

@ -54,7 +54,13 @@ const int EPSILON = Mils2iu( 5 );
MARKER_PCB* DRC::newMarker( TRACK* aTrack, ZONE_CONTAINER* aConflictZone, int aErrorCode )
{
auto conflictOutline = const_cast<SHAPE_POLY_SET*>( &aConflictZone->GetFilledPolysList() );
SHAPE_POLY_SET* conflictOutline;
if( aConflictZone->IsFilled() )
conflictOutline = const_cast<SHAPE_POLY_SET*>( &aConflictZone->GetFilledPolysList() );
else
conflictOutline = aConflictZone->Outline();
wxPoint markerPos;
wxPoint pt1 = aTrack->GetPosition();
wxPoint pt2 = aTrack->GetEnd();