X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fsigsession.cpp;h=e507a09946801fa0c081d8ecfecb18ba6806c946;hb=636782c1f942d1acdb56a0561c2e0fd52cc39ddb;hp=6f66be7c586be3958b6b08290829264e401997c3;hpb=d99dc9f29066fba8948f1fca8b18a54b33064837;p=pulseview.git diff --git a/pv/sigsession.cpp b/pv/sigsession.cpp index 6f66be7c..e507a099 100644 --- a/pv/sigsession.cpp +++ b/pv/sigsession.cpp @@ -233,10 +233,15 @@ bool SigSession::add_decoder(srd_decoder *const dec) decoder_stack = shared_ptr( new data::DecoderStack(dec)); - // Auto select the initial probes + // Make a list of all the probes + std::vector all_probes; for(const GSList *i = dec->probes; i; i = i->next) - { - const srd_probe *const probe = (const srd_probe*)i->data; + all_probes.push_back((const srd_probe*)i->data); + for(const GSList *i = dec->opt_probes; i; i = i->next) + all_probes.push_back((const srd_probe*)i->data); + + // Auto select the initial probes + BOOST_FOREACH(const srd_probe *probe, all_probes) BOOST_FOREACH(shared_ptr s, _signals) { shared_ptr l = @@ -246,7 +251,6 @@ bool SigSession::add_decoder(srd_decoder *const dec) l->get_name().toLower())) probes[probe] = l; } - } assert(decoder_stack); assert(!decoder_stack->stack().empty());