fixed a serious bug in zone filling, for pads with drill but not on all layers
This commit is contained in:
+19
-15
@@ -174,8 +174,11 @@ static int MinimalReq[PIN_NMAX][PIN_NMAX] =
|
||||
/** Function TestDuplicateSheetNames( )
|
||||
* inside a given sheet, one cannot have sheets with duplicate names (file
|
||||
* names can be duplicated).
|
||||
* @return the error count
|
||||
* @param aCreateMarker: true = create error markers in schematic,
|
||||
* false = calculate error count only
|
||||
*/
|
||||
int TestDuplicateSheetNames()
|
||||
int TestDuplicateSheetNames(bool aCreateMarker)
|
||||
{
|
||||
int err_count = 0;
|
||||
EDA_ScreenList ScreenList; // Created the list of screen
|
||||
@@ -203,17 +206,20 @@ int TestDuplicateSheetNames()
|
||||
( ( SCH_SHEET* ) item_to_test )-> m_SheetName )
|
||||
== 0 )
|
||||
{
|
||||
/* Create a new marker type ERC error*/
|
||||
SCH_MARKER* Marker = new SCH_MARKER();
|
||||
Marker->m_TimeStamp = GetTimeStamp();
|
||||
Marker->SetData( ERCE_DUPLICATE_SHEET_NAME,
|
||||
( (SCH_SHEET*) item_to_test )->m_Pos,
|
||||
_( "Duplicate Sheet name" ),
|
||||
( (SCH_SHEET*) item_to_test )->m_Pos );
|
||||
Marker->SetMarkerType( MARK_ERC );
|
||||
Marker->SetErrorLevel( ERR );
|
||||
Marker->SetNext( Screen->EEDrawList );
|
||||
Screen->EEDrawList = Marker;
|
||||
if( aCreateMarker )
|
||||
{
|
||||
/* Create a new marker type ERC error*/
|
||||
SCH_MARKER* Marker = new SCH_MARKER();
|
||||
Marker->m_TimeStamp = GetTimeStamp();
|
||||
Marker->SetData( ERCE_DUPLICATE_SHEET_NAME,
|
||||
( (SCH_SHEET*) item_to_test )->m_Pos,
|
||||
_( "Duplicate Sheet name" ),
|
||||
( (SCH_SHEET*) item_to_test )->m_Pos );
|
||||
Marker->SetMarkerType( MARK_ERC );
|
||||
Marker->SetErrorLevel( ERR );
|
||||
Marker->SetNext( Screen->EEDrawList );
|
||||
Screen->EEDrawList = Marker;
|
||||
}
|
||||
err_count++;
|
||||
}
|
||||
}
|
||||
@@ -279,9 +285,8 @@ void DIALOG_ERC::TestErc( wxArrayString* aMessagesList )
|
||||
* inside a given sheet, one cannot have sheets with duplicate names (file
|
||||
* names can be duplicated).
|
||||
*/
|
||||
int errcnt = TestDuplicateSheetNames();
|
||||
int errcnt = TestDuplicateSheetNames( true );
|
||||
g_EESchemaVar.NbErrorErc += errcnt;
|
||||
g_EESchemaVar.NbWarningErc += errcnt;
|
||||
|
||||
m_Parent->BuildNetListBase();
|
||||
|
||||
@@ -290,7 +295,6 @@ void DIALOG_ERC::TestErc( wxArrayString* aMessagesList )
|
||||
for( unsigned ii = 0; ii < g_NetObjectslist.size(); ii++ )
|
||||
g_NetObjectslist[ii]->m_FlagOfConnection = UNCONNECTED;
|
||||
|
||||
|
||||
StartNet = OldItem = 0;
|
||||
NetNbItems = 0;
|
||||
MinConn = NOC;
|
||||
|
||||
Reference in New Issue
Block a user