X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Flogicsignal.cpp;h=e536171667307c8e43a2a81876de90c3ca9f815c;hb=526c8c00a61aa5f6ac7e3ee56991db957b45828d;hp=407551843bfdcaeaa633345108b69647c22fbc37;hpb=a2b2b65ebcf315c39f1f7a811f71e1a4962d2c32;p=pulseview.git diff --git a/pv/views/trace/logicsignal.cpp b/pv/views/trace/logicsignal.cpp index 4075518..e536171 100644 --- a/pv/views/trace/logicsignal.cpp +++ b/pv/views/trace/logicsignal.cpp @@ -46,6 +46,7 @@ using std::max; using std::make_pair; using std::min; using std::none_of; +using std::out_of_range; using std::pair; using std::shared_ptr; using std::vector; @@ -196,7 +197,13 @@ void LogicSignal::paint_mid(QPainter &p, ViewItemPaintParams &pp) if (segments.empty()) return; - const shared_ptr &segment = segments.front(); + shared_ptr segment; + try { + segment = segments.at(current_segment_); + } catch (out_of_range) { + qDebug() << "Current logic segment out of range for signal" << base_->name(); + return; + } double samplerate = segment->samplerate();