Clear annotations *after* rebuilding symbol links.
We need to symbol links to determine whether or not units are locked (ie: non-interchangeable). Fixes: lp:1767744 * https://bugs.launchpad.net/kicad/+bug/1767744
This commit is contained in:
parent
41b92b6d0f
commit
21ceb786ac
|
@ -616,10 +616,7 @@ bool SCH_EDIT_FRAME::AppendSchematic()
|
||||||
renamedSheet->SetName( wxString::Format( "Sheet%8.8lX", (unsigned long) newtimestamp ) );
|
renamedSheet->SetName( wxString::Format( "Sheet%8.8lX", (unsigned long) newtimestamp ) );
|
||||||
}
|
}
|
||||||
|
|
||||||
// Clear all annotation in the imported schematic to prevent clashes with existing annotation.
|
// It is finally safe to add the imported schematic.
|
||||||
newScreens.ClearAnnotation();
|
|
||||||
|
|
||||||
// It is finally save to add the imported schematic.
|
|
||||||
screen->Append( newScreen );
|
screen->Append( newScreen );
|
||||||
|
|
||||||
SCH_SCREENS allScreens;
|
SCH_SCREENS allScreens;
|
||||||
|
@ -627,10 +624,13 @@ bool SCH_EDIT_FRAME::AppendSchematic()
|
||||||
|
|
||||||
OnModify();
|
OnModify();
|
||||||
|
|
||||||
// redraw base screen (ROOT) if necessary
|
|
||||||
SCH_SCREENS screens( GetCurrentSheet().Last() );
|
SCH_SCREENS screens( GetCurrentSheet().Last() );
|
||||||
|
|
||||||
screens.UpdateSymbolLinks( true );
|
screens.UpdateSymbolLinks( true );
|
||||||
|
|
||||||
|
// Clear all annotation in the imported schematic to prevent clashes with existing annotation.
|
||||||
|
// Must be done after updating the symbol links as we need to know about multi-unit parts.
|
||||||
|
screens.ClearAnnotation();
|
||||||
|
|
||||||
GetScreen()->SetGrid( ID_POPUP_GRID_LEVEL_1000 + m_LastGridSizeId );
|
GetScreen()->SetGrid( ID_POPUP_GRID_LEVEL_1000 + m_LastGridSizeId );
|
||||||
Zoom_Automatique( false );
|
Zoom_Automatique( false );
|
||||||
SetSheetNumberAndCount();
|
SetSheetNumberAndCount();
|
||||||
|
|
Loading…
Reference in New Issue