X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Ftoolbars%2Fsamplingbar.cpp;h=bafb9cd406bf05f9c76b54f2d91156e34d593e93;hp=24c5a420e1782ce0834b172ecdaa60c0e6782d88;hb=95237c18d988245fd5f484b70a481891982f5f37;hpb=aca00b1e0d3483926c53dfd856483a397f1c29a5 diff --git a/pv/toolbars/samplingbar.cpp b/pv/toolbars/samplingbar.cpp index 24c5a420..bafb9cd4 100644 --- a/pv/toolbars/samplingbar.cpp +++ b/pv/toolbars/samplingbar.cpp @@ -68,6 +68,7 @@ SamplingBar::SamplingBar(SigSession &session, QWidget *parent) : QToolBar("Sampling Bar", parent), _session(session), _device_selector(this), + _updating_device_selector(false), _configure_button(this), _probes_button(this), _record_length_selector(this), @@ -123,6 +124,8 @@ SamplingBar::SamplingBar(SigSession &session, QWidget *parent) : void SamplingBar::set_device_list( const std::list &devices) { + _updating_device_selector = true; + _device_selector.clear(); BOOST_FOREACH (sr_dev_inst *sdi, devices) { @@ -131,6 +134,8 @@ void SamplingBar::set_device_list( qVariantFromValue((void*)sdi)); } + _updating_device_selector = false; + update_sample_rate_selector(); } @@ -297,6 +302,9 @@ void SamplingBar::on_device_selected() { using namespace pv::popups; + if (_updating_device_selector) + return; + update_sample_rate_selector(); sr_dev_inst *const sdi = get_selected_device();