]> sigrok.org Git - pulseview.git/blobdiff - pv/popups/channels.cpp
SigSession: Added signals_mutex(), and made signals() give a reference
[pulseview.git] / pv / popups / channels.cpp
index f6b5aa14e99317cb6d08e35f70d265e4ea5a6927..9afc3b48952754047eecce46b3f7aefb2630beb8 100644 (file)
@@ -35,7 +35,9 @@
 
 using namespace Qt;
 
+using std::lock_guard;
 using std::map;
+using std::mutex;
 using std::set;
 using std::shared_ptr;
 using std::vector;
@@ -65,7 +67,9 @@ Channels::Channels(SigSession &session, QWidget *parent) :
 
        // Collect a set of signals
        map<shared_ptr<Channel>, shared_ptr<Signal> > signal_map;
-       const vector< shared_ptr<Signal> > sigs = _session.get_signals();
+
+       lock_guard<mutex> lock(_session.signals_mutex());
+       const vector< shared_ptr<Signal> > &sigs(_session.signals());
 
        for (const shared_ptr<Signal> &sig : sigs)
                signal_map[sig->channel()] = sig;