From b9591f3a680dd35b7af2fb482a136b1bd494c6e4 Mon Sep 17 00:00:00 2001 From: Soeren Apel Date: Sun, 10 Mar 2019 10:43:22 +0100 Subject: [PATCH] DecodeSignal: Use name of last stacked PD unless the name was changed --- pv/data/decodesignal.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/pv/data/decodesignal.cpp b/pv/data/decodesignal.cpp index 68b17a65..4a802c3b 100644 --- a/pv/data/decodesignal.cpp +++ b/pv/data/decodesignal.cpp @@ -78,14 +78,19 @@ const vector< shared_ptr >& DecodeSignal::decoder_stack() const void DecodeSignal::stack_decoder(const srd_decoder *decoder) { assert(decoder); - const shared_ptr dec = make_shared(decoder); - stack_.push_back(dec); + // Set name if this decoder is the first in the list or the name is unchanged + const srd_decoder* prev_dec = + stack_.empty() ? nullptr : stack_.back()->decoder(); + const QString prev_dec_name = + prev_dec ? QString::fromUtf8(prev_dec->name) : QString(); - // Set name if this decoder is the first in the list - if (stack_.size() == 1) + if ((stack_.empty()) || ((stack_.size() > 0) && (name() == prev_dec_name))) set_name(QString::fromUtf8(decoder->name)); + const shared_ptr dec = make_shared(decoder); + stack_.push_back(dec); + // Include the newly created decode channels in the channel lists update_channel_list(); -- 2.30.2