]> sigrok.org Git - pulseview.git/blobdiff - pv/view/analogsignal.cpp
AnalogSignal: Don't paint logic when there's no logic data
[pulseview.git] / pv / view / analogsignal.cpp
index 906bbabb71a827746e5eb7b1aef39a89b3f28d76..5777628747cd550b8b3624567b3a65407c8fe07f 100644 (file)
@@ -176,7 +176,7 @@ void AnalogSignal::scale_handle_drag_release()
        update_scale();
 }
 
-void AnalogSignal::paint_back(QPainter &p, const ViewItemPaintParams &pp)
+void AnalogSignal::paint_back(QPainter &p, ViewItemPaintParams &pp)
 {
        if (base_->enabled()) {
                Trace::paint_back(p, pp);
@@ -184,7 +184,7 @@ void AnalogSignal::paint_back(QPainter &p, const ViewItemPaintParams &pp)
        }
 }
 
-void AnalogSignal::paint_mid(QPainter &p, const ViewItemPaintParams &pp)
+void AnalogSignal::paint_mid(QPainter &p, ViewItemPaintParams &pp)
 {
        assert(base_->analog_data());
        assert(owner_);
@@ -237,7 +237,7 @@ void AnalogSignal::paint_mid(QPainter &p, const ViewItemPaintParams &pp)
        }
 }
 
-void AnalogSignal::paint_fore(QPainter &p, const ViewItemPaintParams &pp)
+void AnalogSignal::paint_fore(QPainter &p, ViewItemPaintParams &pp)
 {
        if (!enabled())
                return;
@@ -420,7 +420,7 @@ void AnalogSignal::paint_envelope(QPainter &p,
        delete[] e.samples;
 }
 
-void AnalogSignal::paint_logic_mid(QPainter &p, const ViewItemPaintParams &pp)
+void AnalogSignal::paint_logic_mid(QPainter &p, ViewItemPaintParams &pp)
 {
        QLineF *line;
 
@@ -430,7 +430,7 @@ void AnalogSignal::paint_logic_mid(QPainter &p, const ViewItemPaintParams &pp)
 
        const int y = get_visual_y();
 
-       if (!base_->enabled())
+       if (!base_->enabled() || !base_->logic_data())
                return;
 
        const int signal_margin =
@@ -443,6 +443,7 @@ void AnalogSignal::paint_logic_mid(QPainter &p, const ViewItemPaintParams &pp)
 
        const deque< shared_ptr<pv::data::LogicSegment> > &segments =
                base_->logic_data()->logic_segments();
+
        if (segments.empty())
                return;