]> sigrok.org Git - pulseview.git/blobdiff - pv/views/trace/view.cpp
Fix #1203 by catching the boost exception thrown on error
[pulseview.git] / pv / views / trace / view.cpp
index 5b2a2ef40b98f1f0aec84aee3f086606bcbbcd16..8eb3b8dedcd7388555e4574ae4d79501a6a512b6 100644 (file)
@@ -196,7 +196,7 @@ View::View(Session &session, bool is_main_view, QWidget *parent) :
 
        // Set up settings and event handlers
        GlobalSettings settings;
-       coloured_bg_ = settings.value(GlobalSettings::Key_View_ColouredBG).toBool();
+       colored_bg_ = settings.value(GlobalSettings::Key_View_ColoredBG).toBool();
 
        GlobalSettings::add_change_handler(this);
 
@@ -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"))
@@ -774,15 +780,15 @@ void View::enable_show_analog_minor_grid(bool state)
        viewport_->update();
 }
 
-void View::enable_coloured_bg(bool state)
+void View::enable_colored_bg(bool state)
 {
-       coloured_bg_ = state;
+       colored_bg_ = state;
        viewport_->update();
 }
 
-bool View::coloured_bg() const
+bool View::colored_bg() const
 {
-       return coloured_bg_;
+       return colored_bg_;
 }
 
 bool View::cursors_shown() const
@@ -952,7 +958,7 @@ void View::calculate_tick_spacing()
                                (ScaleUnits[unit++] + tp_margin);
                } while (tp_with_margin < min_period && unit < countof(ScaleUnits));
 
-               minor_tick_count_ = (unit == 2) ? (4) : (5);
+               minor_tick_count_ = (unit == 2) ? 4 : 5;
                tick_period = order_decimal * ScaleUnits[unit - 1];
                tick_prefix = static_cast<pv::util::SIPrefix>(
                        (order - pv::util::exponent(pv::util::SIPrefix::yocto)) / 3);