From 07d6d22c255f6867d2522f2bc3960f33b3765093 Mon Sep 17 00:00:00 2001 From: dreamsourcelabTAI Date: Wed, 17 Apr 2024 20:08:31 +0800 Subject: [PATCH] fix: the sample index of demo dso is error when the data is empty --- DSView/pv/sigsession.cpp | 6 ++++++ DSView/pv/sigsession.h | 2 ++ DSView/pv/toolbars/samplingbar.cpp | 9 ++++++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/DSView/pv/sigsession.cpp b/DSView/pv/sigsession.cpp index 85c35a41..45c14324 100644 --- a/DSView/pv/sigsession.cpp +++ b/DSView/pv/sigsession.cpp @@ -2567,4 +2567,10 @@ namespace pv return false; } + void SigSession::apply_samplerate() + { + set_cur_snap_samplerate(_device_agent.get_sample_rate()); + set_cur_samplelimits(_device_agent.get_sample_limit()); + } + } // namespace pv diff --git a/DSView/pv/sigsession.h b/DSView/pv/sigsession.h index 612c650c..adef4f69 100644 --- a/DSView/pv/sigsession.h +++ b/DSView/pv/sigsession.h @@ -451,6 +451,8 @@ public: bool have_decoded_result(); + void apply_samplerate(); + private: void set_cur_samplelimits(uint64_t samplelimits); void set_cur_snap_samplerate(uint64_t samplerate); diff --git a/DSView/pv/toolbars/samplingbar.cpp b/DSView/pv/toolbars/samplingbar.cpp index 062348fd..503baff6 100644 --- a/DSView/pv/toolbars/samplingbar.cpp +++ b/DSView/pv/toolbars/samplingbar.cpp @@ -682,8 +682,15 @@ namespace pv { (void)index; - if (_device_agent->get_work_mode() == DSO) + if (_device_agent->get_work_mode() == DSO){ commit_hori_res(); + + if (_device_agent->is_demo() && _session->have_view_data() == false) + { + _session->apply_samplerate(); + } + } + _session->broadcast_msg(DSV_MSG_DEVICE_DURATION_UPDATED); }