X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fdata%2Fdecodesignal.cpp;h=e8206a088bac285077271d0d5f6db08cd442649b;hp=5701aeb09b5eff7262d83b5336ba4d370cc91b4f;hb=04627946bb2377d8de2f4686a4ccef7eed6710cc;hpb=ccccb91439b9de48a7bcc76c6fa45d1dc166a297 diff --git a/pv/data/decodesignal.cpp b/pv/data/decodesignal.cpp index 5701aeb0..e8206a08 100644 --- a/pv/data/decodesignal.cpp +++ b/pv/data/decodesignal.cpp @@ -181,6 +181,13 @@ void DecodeSignal::begin_decode() return; } + // Make sure that all assigned channels still provide logic data + // (can happen when a converted signal was assigned but the + // conversion removed in the meanwhile) + for (data::DecodeChannel &ch : channels_) + if (ch.assigned_signal && !(ch.assigned_signal->logic_data() != nullptr)) + ch.assigned_signal = nullptr; + // Check that all decoders have the required channels for (const shared_ptr &dec : stack_) if (!dec->have_required_channels()) {