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.

From master branch, commit 7206b567
This commit is contained in:
jean-pierre charras 2020-02-23 09:41:37 +01:00
parent 5c7ac1bb7e
commit 693aec949c
2 changed files with 7 additions and 4 deletions

View File

@ -385,9 +385,10 @@ void GERBER_FILE_IMAGE::RemoveAttribute( X2_ATTRIBUTE& aAttribute )
* if a attribute name is specified (for instance %TD.CN*%) is specified, * if a attribute name is specified (for instance %TD.CN*%) is specified,
* only this attribute is cleared * 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(); m_AperFunction.Clear();
} }

View File

@ -171,8 +171,10 @@ bool GERBER_FILE_IMAGE::ReadRS274XCommand( char *aBuff, unsigned int aBuffSize,
default: default:
code_command = ReadXCommandID( aText ); code_command = ReadXCommandID( aText );
ok = ExecuteRS274XCommand( code_command, aBuff, aBuffSize, aText ); ok = ExecuteRS274XCommand( code_command, aBuff, aBuffSize, aText );
if( !ok ) if( !ok )
goto exit; goto exit;
break; break;
} }
} }