Browse Source

Catch parsing exceptions of the local repository.json

Fixes KICAD-B9
newinvert
Marek Roszko 3 years ago
parent
commit
6029fae30b
  1. 15
      kicad/pcm/pcm.cpp

15
kicad/pcm/pcm.cpp

@ -451,9 +451,18 @@ const bool PLUGIN_CONTENT_MANAGER::CacheRepository( const wxString& aRepositoryI
if( repo_cache.FileExists() && packages_cache.FileExists() )
{
std::ifstream repo_stream( repo_cache.GetFullPath().ToUTF8() );
repo_stream >> js;
PCM_REPOSITORY saved_repo = js.get<PCM_REPOSITORY>();
std::ifstream repo_stream( repo_cache.GetFullPath().ToUTF8() );
PCM_REPOSITORY saved_repo;
try
{
repo_stream >> js;
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 )
{

Loading…
Cancel
Save