Annotation of multiparts gets CHINAME compared. This fixes bug when annotating components of same value (model) in several forms (e.g. dual opamp in single-body and dedicated representation).

This commit is contained in:
Vladimir Ur 2011-06-08 18:35:03 +04:00
parent baa0d7920a
commit f53e8971b4
2 changed files with 9 additions and 0 deletions

View File

@ -438,6 +438,9 @@ void SCH_REFERENCE_LIST::Annotate( bool aUseSheetNum, int aSheetIntervalId )
if( componentFlatList[jj].CompareValue( componentFlatList[ii] ) != 0 ) if( componentFlatList[jj].CompareValue( componentFlatList[ii] ) != 0 )
continue; continue;
if( componentFlatList[jj].CompareLibName( componentFlatList[ii] ) != 0 )
continue;
if( !componentFlatList[jj].m_IsNew ) if( !componentFlatList[jj].m_IsNew )
continue; continue;

View File

@ -36,6 +36,7 @@
#include "class_libentry.h" #include "class_libentry.h"
#include "sch_sheet_path.h" #include "sch_sheet_path.h"
#include "sch_component.h"
class SCH_COMPONENT; class SCH_COMPONENT;
@ -154,6 +155,11 @@ public:
return m_Ref.compare( item.m_Ref ); return m_Ref.compare( item.m_Ref );
} }
int CompareLibName( const SCH_REFERENCE& item ) const
{
return m_RootCmp->GetLibName().CmpNoCase( item.m_RootCmp->GetLibName() );
}
bool IsPartsLocked() bool IsPartsLocked()
{ {
return m_Entry->UnitsLocked(); return m_Entry->UnitsLocked();