]> sigrok.org Git - pulseview.git/blobdiff - pv/view/analogsignal.cpp
TraceTreeItemOwner: Change behavior for empty containers
[pulseview.git] / pv / view / analogsignal.cpp
index 218a959dd422aed5e6560398bb436a85b86317d5..30cf5abf33a6dc5ac888c1fe89aa2ddd470fd6e4 100644 (file)
@@ -63,11 +63,7 @@ AnalogSignal::AnalogSignal(
        scale_index_(0),
        scale_index_drag_offset_(0)
 {
-       colour_ = SignalColours[channel_->index() % countof(SignalColours)];
-}
-
-AnalogSignal::~AnalogSignal()
-{
+       set_colour(SignalColours[channel_->index() % countof(SignalColours)]);
 }
 
 shared_ptr<pv::data::SignalData> AnalogSignal::data() const
@@ -105,8 +101,10 @@ void AnalogSignal::scale_handle_drag_release()
 
 void AnalogSignal::paint_back(QPainter &p, const ViewItemPaintParams &pp)
 {
-       if (channel_->enabled())
+       if (channel_->enabled()) {
+               Trace::paint_back(p, pp);
                paint_axis(p, pp, get_visual_y());
+       }
 }
 
 void AnalogSignal::paint_mid(QPainter &p, const ViewItemPaintParams &pp)
@@ -128,7 +126,7 @@ void AnalogSignal::paint_mid(QPainter &p, const ViewItemPaintParams &pp)
                segments.front();
 
        const double pixels_offset = pp.pixels_offset();
-       const double samplerate = segment->samplerate();
+       const double samplerate = max(1.0, segment->samplerate());
        const pv::util::Timestamp& start_time = segment->start_time();
        const int64_t last_sample = segment->get_sample_count() - 1;
        const double samples_per_pixel = samplerate * pp.scale();