projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
SigSession: Added signals_mutex(), and made signals() give a reference
[pulseview.git]
/
pv
/
popups
/
channels.cpp
diff --git
a/pv/popups/channels.cpp
b/pv/popups/channels.cpp
index f6b5aa14e99317cb6d08e35f70d265e4ea5a6927..9afc3b48952754047eecce46b3f7aefb2630beb8 100644
(file)
--- a/
pv/popups/channels.cpp
+++ b/
pv/popups/channels.cpp
@@
-35,7
+35,9
@@
using namespace Qt;
using namespace Qt;
+using std::lock_guard;
using std::map;
using std::map;
+using std::mutex;
using std::set;
using std::shared_ptr;
using std::vector;
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;
// 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;
for (const shared_ptr<Signal> &sig : sigs)
signal_map[sig->channel()] = sig;