set< shared_ptr<SignalData> > View::get_visible_data() const
{
- shared_lock<shared_mutex> lock(session().signals_mutex());
- const unordered_set< shared_ptr<Signal> > &sigs(session().signals());
+ const unordered_set< shared_ptr<Signal> > sigs(session().signals());
// Make a set of all the visible data objects
set< shared_ptr<SignalData> > visible_data;
void View::restack_all_trace_tree_items()
{
// Make a list of owners that is sorted from deepest first
+ const vector<shared_ptr<TraceTreeItem>> items(
+ list_by_type<TraceTreeItem>());
set< TraceTreeItemOwner* > owners;
- for (const auto &r : *this)
+ for (const auto &r : items)
owners.insert(r->owner());
vector< TraceTreeItemOwner* > sorted_owners(owners.begin(), owners.end());
sort(sorted_owners.begin(), sorted_owners.end(),
o->restack_items();
// Animate the items to their destination
- const vector< shared_ptr<TraceTreeItem> > items(
- list_by_type<TraceTreeItem>());
for (const auto &i : items)
i->animate_to_layout_v_offset();
}
{
// Check whether we know the sample rate and hence can use time as the unit
if (time_unit_ == util::TimeUnit::Samples) {
- shared_lock<shared_mutex> lock(session().signals_mutex());
- const unordered_set< shared_ptr<Signal> > &sigs(session().signals());
+ const unordered_set< shared_ptr<Signal> > sigs(session().signals());
// Check all signals but...
for (const shared_ptr<Signal> signal : sigs) {
const set<shared_ptr<Trace>> prev_traces(
prev_trace_list.begin(), prev_trace_list.end());
- shared_lock<shared_mutex> lock(session_.signals_mutex());
- const unordered_set< shared_ptr<Signal> > &sigs(session_.signals());
+ const unordered_set< shared_ptr<Signal> > sigs(session_.signals());
set< shared_ptr<Trace> > traces(sigs.begin(), sigs.end());
void View::on_hover_point_changed()
{
- for (shared_ptr<TraceTreeItem> r : *this)
+ const vector<shared_ptr<TraceTreeItem>> trace_tree_items(
+ list_by_type<TraceTreeItem>());
+ for (shared_ptr<TraceTreeItem> r : trace_tree_items)
r->hover_point_changed();
}