From e91c93f673fb835a039c6f5b83ce7dee2cb3a9a0 Mon Sep 17 00:00:00 2001 From: DreamSourceLab Date: Sun, 3 May 2015 20:14:17 +0800 Subject: [PATCH] fix decode issue when capture count less than set sample count --- DSView/pv/data/decoderstack.cpp | 5 +++++ DSView/pv/data/decoderstack.h | 2 ++ DSView/pv/view/decodetrace.cpp | 3 ++- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/DSView/pv/data/decoderstack.cpp b/DSView/pv/data/decoderstack.cpp index 5e5ca875..b78b9996 100644 --- a/DSView/pv/data/decoderstack.cpp +++ b/DSView/pv/data/decoderstack.cpp @@ -433,6 +433,11 @@ void DecoderStack::decode_proc() _decode_state = Stopped; } +uint64_t DecoderStack::sample_count() const +{ + return _sample_count; +} + void DecoderStack::annotation_callback(srd_proto_data *pdata, void *decoder) { assert(pdata); diff --git a/DSView/pv/data/decoderstack.h b/DSView/pv/data/decoderstack.h index 955230a8..19c518a4 100644 --- a/DSView/pv/data/decoderstack.h +++ b/DSView/pv/data/decoderstack.h @@ -120,6 +120,8 @@ public: void options_changed(bool changed); + uint64_t sample_count() const; + private: boost::optional wait_for_data() const; diff --git a/DSView/pv/view/decodetrace.cpp b/DSView/pv/view/decodetrace.cpp index 6a4b080c..a478d9db 100644 --- a/DSView/pv/view/decodetrace.cpp +++ b/DSView/pv/view/decodetrace.cpp @@ -547,7 +547,8 @@ bool DecodeTrace::draw_unresolved_period(QPainter &p, int h, int left, shared_ptr data; shared_ptr logic_signal; - const int64_t sample_count = _session.get_device()->get_sample_limit(); + //const int64_t sample_count = _session.get_device()->get_sample_limit(); + const int64_t sample_count = _decoder_stack->sample_count(); if (sample_count == 0) return true;