]> sigrok.org Git - pulseview.git/blobdiff - pv/data/decodesignal.cpp
Continue reworking the channel/signal handling
[pulseview.git] / pv / data / decodesignal.cpp
index ff7a27640fb597c4aed12863da5d6bf0ff9f2dd7..28157794208c6fbf4a7b65be20b76773bb21b189 100644 (file)
@@ -108,11 +108,12 @@ void DecodeSignal::remove_decoder(int index)
        assert(index < (int)stack_.size());
 
        // Find the decoder in the stack
-       auto iter = stack_.begin();
-       for (int i = 0; i < index; i++, iter++)
-               assert(iter != stack_.end());
+       auto iter = stack_.begin() + index;
+       assert(iter != stack_.end());
+
+       shared_ptr<Decoder> dec = *iter;
 
-       decoder_removed(iter->get());
+       decoder_removed(dec.get());
 
        // Delete the element
        stack_.erase(iter);