|
|
|
@ -381,7 +381,8 @@ bool IFACE::OnKifaceStart( PGM_BASE* aProgram, int aCtlBits, KIWAY* aKiway ) |
|
|
|
|
|
|
|
// Register the symbol editor settings as well because they share a KiFACE and need to be
|
|
|
|
// loaded prior to use to avoid threading deadlocks
|
|
|
|
aProgram->GetSettingsManager().RegisterSettings( new SYMBOL_EDITOR_SETTINGS ); |
|
|
|
SYMBOL_EDITOR_SETTINGS* symSettings = new SYMBOL_EDITOR_SETTINGS(); |
|
|
|
aProgram->GetSettingsManager().RegisterSettings( symSettings ); // manager takes ownership
|
|
|
|
|
|
|
|
// We intentionally register KifaceSettings after SYMBOL_EDITOR_SETTINGS
|
|
|
|
// In legacy configs, many settings were in a single editor config nd the migration routine
|
|
|
|
@ -392,7 +393,12 @@ bool IFACE::OnKifaceStart( PGM_BASE* aProgram, int aCtlBits, KIWAY* aKiway ) |
|
|
|
start_common( aCtlBits ); |
|
|
|
|
|
|
|
if( !loadGlobalLibTable() ) |
|
|
|
{ |
|
|
|
// we didnt get anywhere deregister the settings
|
|
|
|
aProgram->GetSettingsManager().FlushAndRelease( symSettings, false ); |
|
|
|
aProgram->GetSettingsManager().FlushAndRelease( KifaceSettings(), false ); |
|
|
|
return false; |
|
|
|
} |
|
|
|
|
|
|
|
m_jobHandler = std::make_unique<EESCHEMA_JOBS_HANDLER>( aKiway ); |
|
|
|
|
|
|
|
|