X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fsigsession.cpp;h=e81d36051fa068e361eafb01c18ef3aeee02caaa;hp=a69f068e804f3d249ec831f59395e5dcec31904e;hb=e92cd4e4cddac2639c1a5e278124b5bb22ace10f;hpb=44b216172f28e6cd18b38ec5c5bf1a19ce5d5e53 diff --git a/pv/sigsession.cpp b/pv/sigsession.cpp index a69f068e..e81d3605 100644 --- a/pv/sigsession.cpp +++ b/pv/sigsession.cpp @@ -34,6 +34,8 @@ #include +#include + #include #include @@ -193,11 +195,12 @@ boost::shared_ptr SigSession::get_data() return _logic_data; } -void SigSession::add_decoder(srd_decoder *const dec, +bool SigSession::add_decoder(srd_decoder *const dec, std::map > probes, GHashTable *options) { + try { lock_guard lock(_signals_mutex); @@ -208,7 +211,14 @@ void SigSession::add_decoder(srd_decoder *const dec, _decode_traces.size())); _decode_traces.push_back(d); } + catch(std::runtime_error e) + { + return false; + } + signals_changed(); + + return true; } vector< shared_ptr > SigSession::get_decode_signals() const