Catch errors when saving individual symbols
Fixes https://gitlab.com/kicad/code/kicad/issues/11566
(cherry picked from commit f4d4f23876
)
This commit is contained in:
parent
30ecca464d
commit
5f7ac58f95
|
@ -225,12 +225,14 @@ bool SYMBOL_LIBRARY_MANAGER::SaveLibrary( const wxString& aLibrary, const wxStri
|
|||
{
|
||||
LIB_SYMBOL* newSymbol;
|
||||
|
||||
try
|
||||
{
|
||||
if( symbol->IsAlias() )
|
||||
{
|
||||
std::shared_ptr< LIB_SYMBOL > oldParent = symbol->GetParent().lock();
|
||||
|
||||
wxCHECK_MSG( oldParent, false,
|
||||
wxString::Format( "Derived symbol '%s' found with undefined parent.",
|
||||
wxString::Format( wxT( "Derived symbol '%s' found with undefined parent." ),
|
||||
symbol->GetName() ) );
|
||||
|
||||
LIB_SYMBOL* libParent = pi->LoadSymbol( aLibrary, oldParent->GetName(),
|
||||
|
@ -251,6 +253,12 @@ bool SYMBOL_LIBRARY_MANAGER::SaveLibrary( const wxString& aLibrary, const wxStri
|
|||
pi->SaveSymbol( aLibrary, new LIB_SYMBOL( *symbol ), &properties );
|
||||
}
|
||||
}
|
||||
catch( ... )
|
||||
{
|
||||
res = false;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
try
|
||||
|
|
Loading…
Reference in New Issue