]> sigrok.org Git - pulseview.git/blobdiff - pv/views/trace/analogsignal.cpp
Add save feature to DecoderOutputView
[pulseview.git] / pv / views / trace / analogsignal.cpp
index 3430ab3cf48eb6996ca0cd52901c1d9c884aa4cb..faa80a11bc94243bd277755770cc5e00c9e0b482 100644 (file)
@@ -842,7 +842,7 @@ void AnalogSignal::perform_autoranging(bool keep_divs, bool force_update)
        if (segments.empty())
                return;
 
-       static double prev_min = 0, prev_max = 0;
+       double signal_min_ = 0, signal_max_ = 0;
        double min = 0, max = 0;
 
        for (const shared_ptr<pv::data::AnalogSegment>& segment : segments) {
@@ -851,11 +851,11 @@ void AnalogSignal::perform_autoranging(bool keep_divs, bool force_update)
                max = std::max(max, mm.second);
        }
 
-       if ((min == prev_min) && (max == prev_max) && !force_update)
+       if ((min == signal_min_) && (max == signal_max_) && !force_update)
                return;
 
-       prev_min = min;
-       prev_max = max;
+       signal_min_ = min;
+       signal_max_ = max;
 
        // If we're allowed to alter the div assignment...
        if (!keep_divs) {
@@ -1083,11 +1083,10 @@ void AnalogSignal::hover_point_changed(const QPoint &hp)
        if (hp.x() <= 0) {
                value_at_hover_pos_ = std::numeric_limits<float>::quiet_NaN();
        } else {
-               try {
+               if ((size_t)hp.x() < value_at_pixel_pos_.size())
                        value_at_hover_pos_ = value_at_pixel_pos_.at(hp.x());
-               } catch (out_of_range&) {
+               else
                        value_at_hover_pos_ = std::numeric_limits<float>::quiet_NaN();
-               }
        }
 }