X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fsigsession.cpp;h=da5d3f01fecdfbea8f36d80aa89a2ab028105d80;hp=c2c2dc983892dc65d1ff94b532b79b83e60a9cf6;hb=119aff65d8ad0c4cdaff32d9b68cee00d90a5f35;hpb=f5a2fb830f9fec4127a33b61edf6ba066132ae23 diff --git a/pv/sigsession.cpp b/pv/sigsession.cpp index c2c2dc98..da5d3f01 100644 --- a/pv/sigsession.cpp +++ b/pv/sigsession.cpp @@ -21,8 +21,10 @@ #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 SigSession::get_data() void SigSession::add_decoder(srd_decoder *const dec) { { - shared_ptr d(new view::DecodeSignal(*this, dec)); + lock_guard lock(_signals_mutex); + shared_ptr decoder( + new data::Decoder(dec)); + shared_ptr d( + new view::DecodeSignal(*this, decoder)); _decode_traces.push_back(d); } signals_changed();