From 38cd8267c6b0c695dfd8880c68e7c726d68760f0 Mon Sep 17 00:00:00 2001 From: dreamsourcelabTAI Date: Mon, 24 Apr 2023 16:30:29 +0800 Subject: [PATCH] fix: Paint the decoder row crashed --- DSView/pv/view/viewport.cpp | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/DSView/pv/view/viewport.cpp b/DSView/pv/view/viewport.cpp index 1ee07495..0e15bede 100644 --- a/DSView/pv/view/viewport.cpp +++ b/DSView/pv/view/viewport.cpp @@ -256,13 +256,20 @@ void Viewport::paintSignals(QPainter &p, QColor fore, QColor back) for(auto t : traces){ if (t->enabled()){ - LogicSignal *logic_signal = (LogicSignal*)t; + + if (t->signal_type() == LOGIC_SIGNAL) + { + LogicSignal *logic_signal = (LogicSignal*)t; - if (bFirst) - end_align_sample = logic_signal->data()->get_ring_sample_count(); - - logic_signal->paint_mid_align_sample(p, 0, t->get_view_rect().right(), fore, back, end_align_sample); - bFirst = false; + if (bFirst) + end_align_sample = logic_signal->data()->get_ring_sample_count(); + + logic_signal->paint_mid_align_sample(p, 0, t->get_view_rect().right(), fore, back, end_align_sample); + bFirst = false; + } + else{ + t->paint_mid(p, 0, t->get_view_rect().right(), fore, back); + } } } }