Fixed eeschema crash when reading a void library file

This commit is contained in:
jean-pierre charras 2010-05-08 12:57:35 +02:00
commit 4bbdeab96a
3 changed files with 15 additions and 8 deletions

View File

@ -175,6 +175,17 @@ CMP_LIB_ENTRY* CMP_LIBRARY::FindEntry( const wxChar* aName, LibrEntryType aType
return NULL;
}
/**
* Return the first entry in the library.
* @return The first entry or NULL if the library has no entries.
*/
CMP_LIB_ENTRY* CMP_LIBRARY::GetFirstEntry()
{
if( entries.size() )
return &entries.front();
else
return NULL;
}
LIB_COMPONENT* CMP_LIBRARY::FindComponent( const wxChar* aName )
{

View File

@ -317,10 +317,7 @@ public:
*
* @return The first entry or NULL if the library has no entries.
*/
CMP_LIB_ENTRY* GetFirstEntry()
{
return &entries.front();
}
CMP_LIB_ENTRY* GetFirstEntry();
/**
* Find next library entry by /a aName.

View File

@ -706,7 +706,7 @@ static int ConvertBusToMembers( NETLIST_OBJECT_LIST& aNetItemBuffer,
else
BusLabel.m_Type = NET_BUSLABELMEMBER;
/* Conversion of BusLabel in the root of the Label + the number of wire. */
/* Conversion of BusLabel to the root Label name + the member id like mybus0, mybus1 ... */
BufLine = BusLabel.m_Label->Left( RootBusNameLength );
BusMember = FirstNumWireBus;
@ -721,8 +721,7 @@ static int ConvertBusToMembers( NETLIST_OBJECT_LIST& aNetItemBuffer,
NETLIST_OBJECT* new_label = new NETLIST_OBJECT( BusLabel );
NumItem++;
/* Conversion of BusLabel in the root of the Label + the number
* of wire */
/* Conversion of BusLabel to the root name + the current member id.*/
BufLine = BusLabel.m_Label->Left( RootBusNameLength );
BufLine << BusMember;
new_label->m_Label = new wxString( BufLine );
@ -739,7 +738,7 @@ static int ConvertBusToMembers( NETLIST_OBJECT_LIST& aNetItemBuffer,
* PropageNetCode propagates Netcode NewNetCode on all elements
* belonging to the former Netcode OldNetCode
* If IsBus == 0; Netcode is the member who is spreading
* If IsBus! = 0; is the member who is spreading BusNetCode
* If IsBus != 0; is the member who is spreading BusNetCode
*/
static void PropageNetCode( int OldNetCode, int NewNetCode, int IsBus )
{