From 87ab03211d827d0585d7c452361d6d0c69015b06 Mon Sep 17 00:00:00 2001 From: Soeren Apel Date: Sat, 26 May 2018 20:49:37 +0200 Subject: [PATCH] Fix #1203 by catching the boost exception thrown on error --- pv/views/trace/view.cpp | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/pv/views/trace/view.cpp b/pv/views/trace/view.cpp index 861eac0..8eb3b8d 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")) -- 2.30.2