Catch parsing exceptions of the local repository.json

Fixes KICAD-B9


(cherry picked from commit 6029fae30b)
This commit is contained in:
Marek Roszko 2023-02-21 07:14:03 -05:00 committed by Mark Roszko
parent c00a98fed4
commit 14381ac68a
1 changed files with 12 additions and 3 deletions

View File

@ -452,8 +452,17 @@ const bool PLUGIN_CONTENT_MANAGER::CacheRepository( const wxString& aRepositoryI
if( repo_cache.FileExists() && packages_cache.FileExists() ) if( repo_cache.FileExists() && packages_cache.FileExists() )
{ {
std::ifstream repo_stream( repo_cache.GetFullPath().ToUTF8() ); std::ifstream repo_stream( repo_cache.GetFullPath().ToUTF8() );
PCM_REPOSITORY saved_repo;
try
{
repo_stream >> js; repo_stream >> js;
PCM_REPOSITORY saved_repo = js.get<PCM_REPOSITORY>(); saved_repo = js.get<PCM_REPOSITORY>();
}
catch( ... )
{
if( m_dialog )
wxLogError( _( "Failed to parse locally stored repository.json." ) );
}
if( saved_repo.packages.update_timestamp == current_repo.packages.update_timestamp ) if( saved_repo.packages.update_timestamp == current_repo.packages.update_timestamp )
{ {