Commit 4bbdeab9 authored by jean-pierre charras's avatar jean-pierre charras
Browse files

Fixed eeschema crash when reading a void library file

parents f54d3424 31406023
Loading
Loading
Loading
Loading
+11 −0
Original line number Original line Diff line number Diff line
@@ -175,6 +175,17 @@ CMP_LIB_ENTRY* CMP_LIBRARY::FindEntry( const wxChar* aName, LibrEntryType aType
    return NULL;
    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 )
LIB_COMPONENT* CMP_LIBRARY::FindComponent( const wxChar* aName )
{
{
+1 −4
Original line number Original line Diff line number Diff line
@@ -317,10 +317,7 @@ public:
     *
     *
     * @return The first entry or NULL if the library has no entries.
     * @return The first entry or NULL if the library has no entries.
     */
     */
    CMP_LIB_ENTRY* GetFirstEntry()
    CMP_LIB_ENTRY* GetFirstEntry();
    {
        return &entries.front();
    }


    /**
    /**
     * Find next library entry by /a aName.
     * Find next library entry by /a aName.
+3 −4
Original line number Original line Diff line number Diff line
@@ -706,7 +706,7 @@ static int ConvertBusToMembers( NETLIST_OBJECT_LIST& aNetItemBuffer,
    else
    else
        BusLabel.m_Type = NET_BUSLABELMEMBER;
        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 );
    BufLine = BusLabel.m_Label->Left( RootBusNameLength );


    BusMember = FirstNumWireBus;
    BusMember = FirstNumWireBus;
@@ -721,8 +721,7 @@ static int ConvertBusToMembers( NETLIST_OBJECT_LIST& aNetItemBuffer,
        NETLIST_OBJECT* new_label = new NETLIST_OBJECT( BusLabel );
        NETLIST_OBJECT* new_label = new NETLIST_OBJECT( BusLabel );
        NumItem++;
        NumItem++;


        /* Conversion of BusLabel in the root of the Label + the number
        /* Conversion of BusLabel to the root name + the current member id.*/
         * of wire */
        BufLine = BusLabel.m_Label->Left( RootBusNameLength );
        BufLine = BusLabel.m_Label->Left( RootBusNameLength );
        BufLine << BusMember;
        BufLine << BusMember;
        new_label->m_Label = new wxString( BufLine );
        new_label->m_Label = new wxString( BufLine );