]> sigrok.org Git - pulseview.git/blobdiff - pv/view/view.cpp
View: Use list_by_type to get TraceTreeItems
[pulseview.git] / pv / view / view.cpp
index 540b90e14cffb17021e698549b780475e689f280..3f0fe9d1dc9991febf113d45f02f5dc6189c0ace 100644 (file)
@@ -518,8 +518,10 @@ void View::restack_all_trace_tree_items()
                o->restack_items();
 
        // Animate the items to their destination
-       for (const auto &r : *this)
-               r->animate_to_layout_v_offset();
+       const vector< shared_ptr<TraceTreeItem> > items(
+               list_by_type<TraceTreeItem>());
+       for (const auto &i : items)
+               i->animate_to_layout_v_offset();
 }
 
 void View::get_scroll_layout(double &length, Timestamp &offset) const
@@ -875,7 +877,9 @@ void View::signals_changed()
 
        // Make a list of traces that are being added, and a list of traces
        // that are being removed
-       const set<shared_ptr<Trace>> prev_traces = list_by_type<Trace>();
+       const vector<shared_ptr<Trace>> prev_trace_list = list_by_type<Trace>();
+       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());