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
This commit is contained in:
Seth Hillbrand 2020-01-27 06:29:54 -08:00
parent 48ae188b15
commit 7ac83ac64d
1 changed files with 2 additions and 1 deletions

View File

@ -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 );