Browse Source

Check recursion before appending

We need to ensure that the appended sheet does not already exist in the
parent hierarchy.  We do this for new sheets but need to check for
existing ones as well.

Fixes #3806 | https://gitlab.com/kicad/code/kicad/issues/3806
pull/16/head
Seth Hillbrand 6 years ago
parent
commit
7ac83ac64d
  1. 3
      eeschema/sheet.cpp

3
eeschema/sheet.cpp

@ -723,7 +723,8 @@ bool SCH_EDIT_FRAME::EditSheet( SCH_SHEET* aSheet, SCH_SHEET_PATH* aHierarchy,
aHierarchy->LastScreen()->Remove( aSheet );
}
if( !LoadSheetFromFile( aSheet, aHierarchy, newFilename ) )
if( !LoadSheetFromFile( aSheet, aHierarchy, newFilename )
|| checkSheetForRecursion( aSheet, aHierarchy ) )
{
if( restoreSheet )
aHierarchy->LastScreen()->Append( aSheet );

Loading…
Cancel
Save