projects
/
pulseview.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
9737847
)
DecodeSignal: Use name of last stacked PD unless the name was changed
author
Soeren Apel
<soeren@apelpie.net>
Sun, 10 Mar 2019 09:43:22 +0000
(10:43 +0100)
committer
Soeren Apel
<soeren@apelpie.net>
Sun, 10 Mar 2019 19:33:28 +0000
(20:33 +0100)
pv/data/decodesignal.cpp
patch
|
blob
|
history
diff --git
a/pv/data/decodesignal.cpp
b/pv/data/decodesignal.cpp
index 68b17a65d076668b182172bee71f5a30605cb232..4a802c3b7b051b41803bb0ac22c5cfe0ce40280e 100644
(file)
--- a/
pv/data/decodesignal.cpp
+++ b/
pv/data/decodesignal.cpp
@@
-78,14
+78,19
@@
const vector< shared_ptr<Decoder> >& DecodeSignal::decoder_stack() const
void DecodeSignal::stack_decoder(const srd_decoder *decoder)
{
assert(decoder);
void DecodeSignal::stack_decoder(const srd_decoder *decoder)
{
assert(decoder);
- const shared_ptr<Decoder> dec = make_shared<decode::Decoder>(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));
set_name(QString::fromUtf8(decoder->name));
+ const shared_ptr<Decoder> dec = make_shared<decode::Decoder>(decoder);
+ stack_.push_back(dec);
+
// Include the newly created decode channels in the channel lists
update_channel_list();
// Include the newly created decode channels in the channel lists
update_channel_list();