X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fdecodetrace.cpp;h=020ce77090acd4d86bc06ba49185be1282106a02;hb=5da5d0813b0253fbe430d3a0b7cb780df1dcb72a;hp=f44d8f94b75ea0991fb6791dd5dc51a975f49a7a;hpb=e71eb81c946c3524e01eaef9781ccbf170143d0c;p=pulseview.git diff --git a/pv/view/decodetrace.cpp b/pv/view/decodetrace.cpp index f44d8f9..020ce77 100644 --- a/pv/view/decodetrace.cpp +++ b/pv/view/decodetrace.cpp @@ -710,8 +710,7 @@ QComboBox* DecodeTrace::create_channel_selector( { assert(dec); - shared_lock lock(session_.signals_mutex()); - const auto &sigs(session_.signals()); + const auto sigs(session_.signals()); vector< shared_ptr > sig_list(sigs.begin(), sigs.end()); std::sort(sig_list.begin(), sig_list.end(), @@ -734,7 +733,9 @@ QComboBox* DecodeTrace::create_channel_selector( { selector->addItem(s->name(), qVariantFromValue((void*)s.get())); - if ((*channel_iter).second == s) + + if (channel_iter != dec->channels().end() && + (*channel_iter).second == s) selector->setCurrentIndex( selector->count() - 1); } @@ -749,8 +750,7 @@ void DecodeTrace::commit_decoder_channels(shared_ptr &dec map > channel_map; - shared_lock lock(session_.signals_mutex()); - const unordered_set< shared_ptr > &sigs(session_.signals()); + const unordered_set< shared_ptr > sigs(session_.signals()); for (const ChannelSelector &s : channel_selectors_) {