Commit 4ebe4714 authored by jean-pierre charras's avatar jean-pierre charras

Minor fixes in add zone and duplicate zone (legacy mode)

parent e2c7e6bf
......@@ -123,6 +123,16 @@ void PCB_EDIT_FRAME::duplicateZone( wxDC* aDC, ZONE_CONTAINER* aZone )
else
success = InvokeNonCopperZonesEditor( this, aZone, &zoneSettings );
// If the new zone is on the same layer as the the initial zone,
// do nothing
if( success && ( aZone->GetLayer() == zoneSettings.m_CurrentZone_Layer ) )
{
DisplayError( this,
_( "The duplicated zone is on the same layer as the initial zone, which has no sense.\n"
"Please, chose an other layer for the new zone") );
success = false;
}
if( success )
{
zoneSettings.ExportSetting( *newZone );
......@@ -148,7 +158,8 @@ void PCB_EDIT_FRAME::duplicateZone( wxDC* aDC, ZONE_CONTAINER* aZone )
if( GetBoard()->GetAreaIndex( newZone ) >= 0
&& GetBoard()->Test_Drc_Areas_Outlines_To_Areas_Outlines( newZone, true ) )
{
DisplayError( this, _( "Duplicate Zone: The outline of the duplicated zone fails DRC check!" ) );
DisplayError( this,
_( "The outline of the duplicated zone fails DRC check!" ) );
}
UpdateCopyOfZonesList( s_PickedList, s_AuxiliaryList, GetBoard() );
......
......@@ -257,9 +257,13 @@ void UpdateCopyOfZonesList( PICKED_ITEMS_LIST& aPickList,
}
}
wxASSERT_MSG( notfound != true,
wxT( "UpdateCopyOfZonesList() error: item not found in "
"aAuxiliaryList" ) );
if( notfound ) // happens when the new zone overlaps an existing zone
// and these zones are combined
{
DBG( printf(
"UpdateCopyOfZonesList(): item not found in aAuxiliaryList,"
"combined with an other zone\n" ) );
}
break;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment