diff --git a/eeschema/generate_alias_info.cpp b/eeschema/generate_alias_info.cpp index a99cc5a3a8..66b14824bb 100644 --- a/eeschema/generate_alias_info.cpp +++ b/eeschema/generate_alias_info.cpp @@ -66,7 +66,10 @@ public: wxCHECK_RET( m_libs, "Symbol library manager adapter pointer is not valid" ); if( !m_lib_id.IsValid() ) + { + ClearPlaceholders(); return; + } try { @@ -78,6 +81,7 @@ public: m_lib_id.GetLibItemName().wx_str(), m_lib_id.GetLibNickname().wx_str(), ioe.What() ); + ClearPlaceholders(); return; } @@ -89,6 +93,10 @@ public: SetHtmlKeywords(); SetHtmlFieldTable(); } + else + { + ClearPlaceholders(); + } } /** @@ -253,6 +261,15 @@ protected: m_html.Replace( wxS( "__FIELDS__" ), fieldtable ); } + void ClearPlaceholders() + { + m_html.Replace( wxS( "__NAME__" ), wxEmptyString ); + m_html.Replace( wxS( "__ALIASOF__" ), wxEmptyString ); + m_html.Replace( wxS( "__DESC__" ), wxEmptyString ); + m_html.Replace( wxS( "__KEY__" ), wxEmptyString ); + m_html.Replace( wxS( "__FIELDS__" ), wxEmptyString ); + } + private: wxString m_html; SYMBOL_LIBRARY_ADAPTER* m_libs; diff --git a/eeschema/symbol_tree_model_adapter.cpp b/eeschema/symbol_tree_model_adapter.cpp index 367961c31a..139ffa6322 100644 --- a/eeschema/symbol_tree_model_adapter.cpp +++ b/eeschema/symbol_tree_model_adapter.cpp @@ -120,7 +120,9 @@ void SYMBOL_TREE_MODEL_ADAPTER::AddLibraries( SCH_BASE_FRAME* aFrame ) for( const wxString& lib : toLoad ) { - if( !m_adapter->GetLibraryStatus( lib ) ) + std::optional status = m_adapter->GetLibraryStatus( lib ); + + if( !status || status->load_status != LOAD_STATUS::LOADED ) { m_pending_load_libraries.insert( lib ); continue;