From 420a815de6ed0560e31f2941cc0ad3816496bf51 Mon Sep 17 00:00:00 2001 From: dreamsourcelabTAI Date: Fri, 12 May 2023 13:54:24 +0800 Subject: [PATCH] fix: On dso model, the UI crashed when the cursors count more than 40 --- DSView/pv/sigsession.cpp | 5 ++++- DSView/pv/sigsession.h | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/DSView/pv/sigsession.cpp b/DSView/pv/sigsession.cpp index 6465ae67..373da972 100644 --- a/DSView/pv/sigsession.cpp +++ b/DSView/pv/sigsession.cpp @@ -491,6 +491,7 @@ namespace pv _view_data->clear(); _is_stream_mode = false; _capture_times = 0; + _dso_packet_count = 0; _capture_data = _view_data; set_cur_snap_samplerate(_device_agent.get_sample_rate()); @@ -1134,6 +1135,8 @@ namespace pv return; // This dso packet was not expected. } + _dso_packet_count++; + if (_capture_data->get_dso()->last_ended()) { // reset scale of dso signal @@ -1166,7 +1169,7 @@ namespace pv } } - if (o.num_samples != 0) + if (o.num_samples != 0 && (!_is_instant || _dso_packet_count == 1)) { // update current sample rate set_cur_snap_samplerate(_device_agent.get_sample_rate()); diff --git a/DSView/pv/sigsession.h b/DSView/pv/sigsession.h index 66ec618e..24aa2edf 100644 --- a/DSView/pv/sigsession.h +++ b/DSView/pv/sigsession.h @@ -564,6 +564,7 @@ private: bool _is_stream_mode; QString _strMsg; bool _is_action; + uint64_t _dso_packet_count; ISessionCallback *_callback;