diff --git a/eeschema/dialogs/dialog_sim_model.cpp b/eeschema/dialogs/dialog_sim_model.cpp index fa85fa58f9..1abf19757f 100644 --- a/eeschema/dialogs/dialog_sim_model.cpp +++ b/eeschema/dialogs/dialog_sim_model.cpp @@ -845,10 +845,13 @@ bool DIALOG_SIM_MODEL<T>::loadLibrary( const wxString& aLibraryPath, REPORTER& a m_modelListBoxEntryToLibraryIdx.clear(); wxArrayString modelNames; + bool modelNameExists = false; for( const auto& [name, model] : library()->GetModels() ) { modelNames.Add( name ); m_modelListBoxEntryToLibraryIdx[name] = m_modelListBoxEntryToLibraryIdx.size(); + if( name == modelName ) + modelNameExists = true; } modelNames.Sort(); @@ -856,6 +859,13 @@ bool DIALOG_SIM_MODEL<T>::loadLibrary( const wxString& aLibraryPath, REPORTER& a m_modelListBox->Clear(); m_modelListBox->Append( modelNames ); + if( !modelNameExists ) + { + m_infoBar->ShowMessage( + wxString::Format( _( "No model named '%s' in '%s'." ), modelName, aLibraryPath ) ); + return false; + } + if( isIbisLoaded() ) { wxArrayString emptyArray;