From: Soeren Apel Date: Sat, 26 May 2018 18:49:37 +0000 (+0200) Subject: Fix #1203 by catching the boost exception thrown on error X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=87ab03211d827d0585d7c452361d6d0c69015b06;p=pulseview.git Fix #1203 by catching the boost exception thrown on error --- diff --git a/pv/views/trace/view.cpp b/pv/views/trace/view.cpp index 861eac0f..8eb3b8de 100644 --- a/pv/views/trace/view.cpp +++ b/pv/views/trace/view.cpp @@ -367,10 +367,13 @@ void View::restore_settings(QSettings &settings) stringstream ss; ss << settings.value("ruler_shift").toString().toStdString(); - boost::archive::text_iarchive ia(ss); - ia >> boost::serialization::make_nvp("ruler_shift", shift); - - ruler_shift_ = shift; + try { + boost::archive::text_iarchive ia(ss); + ia >> boost::serialization::make_nvp("ruler_shift", shift); + ruler_shift_ = shift; + } catch (boost::archive::archive_exception) { + qDebug() << "Could not restore the view ruler shift"; + } } if (settings.contains("offset")) { @@ -378,11 +381,14 @@ void View::restore_settings(QSettings &settings) stringstream ss; ss << settings.value("offset").toString().toStdString(); - boost::archive::text_iarchive ia(ss); - ia >> boost::serialization::make_nvp("offset", offset); - - // This also updates ruler_offset_ - set_offset(offset); + try { + boost::archive::text_iarchive ia(ss); + ia >> boost::serialization::make_nvp("offset", offset); + // This also updates ruler_offset_ + set_offset(offset); + } catch (boost::archive::archive_exception) { + qDebug() << "Could not restore the view offset"; + } } if (settings.contains("splitter_state"))