Gerbview: Gerber attributes display: fix incorrect attributes deletion.
The Gerber attribute deletion command (%TD,xxx) always cleared all attributes, instead of clearing xxx attribute. Therefore some attributes were not always displayed.
This commit is contained in:
parent
41f59ab873
commit
7206b567ac
|
@ -379,9 +379,10 @@ void GERBER_FILE_IMAGE::RemoveAttribute( X2_ATTRIBUTE& aAttribute )
|
|||
* if a attribute name is specified (for instance %TD.CN*%) is specified,
|
||||
* only this attribute is cleared
|
||||
*/
|
||||
m_NetAttributeDict.ClearAttribute( &aAttribute.GetPrm( 1 ) );
|
||||
wxString cmd = aAttribute.GetPrm( 0 );
|
||||
m_NetAttributeDict.ClearAttribute( &cmd );
|
||||
|
||||
if( aAttribute.GetPrm( 1 ).IsEmpty() || aAttribute.GetPrm( 1 ) == ".AperFunction" )
|
||||
if( cmd.IsEmpty() || cmd == ".AperFunction" )
|
||||
m_AperFunction.Clear();
|
||||
}
|
||||
|
||||
|
|
|
@ -172,8 +172,10 @@ bool GERBER_FILE_IMAGE::ReadRS274XCommand( char *aBuff, unsigned int aBuffSize,
|
|||
default:
|
||||
code_command = ReadXCommandID( aText );
|
||||
ok = ExecuteRS274XCommand( code_command, aBuff, aBuffSize, aText );
|
||||
|
||||
if( !ok )
|
||||
goto exit;
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -364,7 +366,7 @@ bool GERBER_FILE_IMAGE::ExecuteRS274XCommand( int aCommand, char* aBuff,
|
|||
|
||||
case FILE_ATTRIBUTE: // Command %TF ...
|
||||
m_IsX2_file = true;
|
||||
{
|
||||
{
|
||||
X2_ATTRIBUTE dummy;
|
||||
dummy.ParseAttribCmd( m_Current_File, aBuff, aBuffSize, aText, m_LineNum );
|
||||
|
||||
|
@ -381,7 +383,7 @@ bool GERBER_FILE_IMAGE::ExecuteRS274XCommand( int aCommand, char* aBuff,
|
|||
{
|
||||
m_PartString = dummy.GetPrm( 1 );
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
case APERTURE_ATTRIBUTE: // Command %TA
|
||||
|
|
Loading…
Reference in New Issue