X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fdata%2Fdecodesignal.cpp;h=6aa3f42f13ac7c93c6e272c4f43115300e19034a;hb=6e7a4a0066c15d99c891765bbc6797d339ac0ec8;hp=a57a9a1a9624556d5658dc3d6d3877f160194095;hpb=762ab7a4b20928a784b2b3400ce748d901e32d2d;p=pulseview.git diff --git a/pv/data/decodesignal.cpp b/pv/data/decodesignal.cpp index a57a9a1..6aa3f42 100644 --- a/pv/data/decodesignal.cpp +++ b/pv/data/decodesignal.cpp @@ -62,8 +62,6 @@ DecodeSignal::DecodeSignal(pv::Session &session) : { connect(&session_, SIGNAL(capture_state_changed(int)), this, SLOT(on_capture_state_changed(int))); - - set_name(tr("Empty decoder signal")); } DecodeSignal::~DecodeSignal() @@ -508,11 +506,13 @@ void DecodeSignal::restore_settings(QSettings &settings) // Include the newly created decode channels in the channel lists update_channel_list(); + commit_decoder_channels(); break; } } settings.endGroup(); + channels_updated(); } // Restore channel mapping @@ -574,7 +574,7 @@ void DecodeSignal::update_channel_list() if (!ch_added) { // Create new entry without a mapped signal - data::DecodeChannel ch = {id++, false, nullptr, + data::DecodeChannel ch = {id++, 0, false, nullptr, QString::fromUtf8(pdch->name), QString::fromUtf8(pdch->desc), SRD_INITIAL_PIN_SAME_AS_SAMPLE0, decoder, pdch}; channels_.push_back(ch); @@ -597,7 +597,7 @@ void DecodeSignal::update_channel_list() if (!ch_added) { // Create new entry without a mapped signal - data::DecodeChannel ch = {id++, true, nullptr, + data::DecodeChannel ch = {id++, 0, true, nullptr, QString::fromUtf8(pdch->name), QString::fromUtf8(pdch->desc), SRD_INITIAL_PIN_SAME_AS_SAMPLE0, decoder, pdch}; channels_.push_back(ch); @@ -654,8 +654,11 @@ void DecodeSignal::mux_logic_samples(const int64_t start, const int64_t end) vector signal_in_bytepos; vector signal_in_bitpos; + int id = 0; for (data::DecodeChannel &ch : channels_) if (ch.assigned_signal) { + ch.bit_id = id++; + const shared_ptr logic_data = ch.assigned_signal->logic_data(); const shared_ptr segment = logic_data->logic_segments().front(); segments.push_back(segment); @@ -930,7 +933,7 @@ void DecodeSignal::connect_input_notifiers() void DecodeSignal::annotation_callback(srd_proto_data *pdata, void *decode_signal) { assert(pdata); - assert(decoder); + assert(decode_signal); DecodeSignal *const ds = (DecodeSignal*)decode_signal; assert(ds);