diff --git a/DSView/pv/sigsession.cpp b/DSView/pv/sigsession.cpp index 69ed2aaa..8a45b5b2 100644 --- a/DSView/pv/sigsession.cpp +++ b/DSView/pv/sigsession.cpp @@ -1084,9 +1084,7 @@ namespace pv set_receive_data_len(o.num_samples); if (!_is_instant) - { _data_lock = true; - } _data_updated = true; } @@ -1802,7 +1800,7 @@ namespace pv dsv_err("%s", "The collected data is error!"); // trig next collect - if (!_is_instant && is_repeat_mode() && _is_working && event == DS_EV_COLLECT_TASK_END) + if (is_repeat_mode() && _is_working && event == DS_EV_COLLECT_TASK_END) { _callback->trigger_message(DSV_MSG_TRIG_NEXT_COLLECT); } diff --git a/DSView/pv/toolbars/samplingbar.cpp b/DSView/pv/toolbars/samplingbar.cpp index dc65c9f7..da86eb0d 100644 --- a/DSView/pv/toolbars/samplingbar.cpp +++ b/DSView/pv/toolbars/samplingbar.cpp @@ -279,6 +279,9 @@ namespace pv if (ret == QDialog::Accepted) { + if (_session->have_view_data() == false) + this->commit_settings(); + _session->broadcast_msg(DSV_MSG_DEVICE_OPTIONS_UPDATED); update_sample_rate_list(); @@ -338,9 +341,10 @@ namespace pv const int index_back = _sample_count.currentIndex(); int i = 0; - for (i = 0; i < _sample_count.count(); i++) + for (i = 0; i < _sample_count.count(); i++){ if (_sample_count.itemData(i).value() == ZeroTimeBase) break; + } _sample_count.setCurrentIndex(i); commit_hori_res(); @@ -797,6 +801,8 @@ namespace pv { bool test = false; + dsv_info("Commit device settings."); + if (_device_agent->have_instance()) { GVariant *gvar = _device_agent->get_config(NULL, NULL, SR_CONF_TEST);