]> sigrok.org Git - pulseview.git/blobdiff - pv/sigsession.cpp
Added pv::data::Decoder container object
[pulseview.git] / pv / sigsession.cpp
index c2c2dc983892dc65d1ff94b532b79b83e60a9cf6..da5d3f01fecdfbea8f36d80aa89a2ab028105d80 100644 (file)
 #include "sigsession.h"
 
 #include "devicemanager.h"
+
 #include "data/analog.h"
 #include "data/analogsnapshot.h"
+#include "data/decoder.h"
 #include "data/logic.h"
 #include "data/logicsnapshot.h"
 
@@ -199,7 +201,11 @@ boost::shared_ptr<data::Logic> SigSession::get_data()
 void SigSession::add_decoder(srd_decoder *const dec)
 {
        {
-               shared_ptr<view::DecodeSignal> d(new view::DecodeSignal(*this, dec));
+               lock_guard<mutex> lock(_signals_mutex);
+               shared_ptr<data::Decoder> decoder(
+                       new data::Decoder(dec));
+               shared_ptr<view::DecodeSignal> d(
+                       new view::DecodeSignal(*this, decoder));
                _decode_traces.push_back(d);
        }
        signals_changed();