Reduce include bloat by including boost/thread/{locks,shared_mutex}.hpp directly
[pulseview.git] / pv / view / view.cpp
index c0b3e251d964c5266d500db962ac2ebbc764b188..3eb04920ef8f364ac19bd299f0f51a4e81039177 100644 (file)
@@ -32,6 +32,8 @@
 #include <mutex>
 #include <unordered_set>
 
+#include <boost/thread/locks.hpp>
+
 #include <QApplication>
 #include <QEvent>
 #include <QFontMetrics>
@@ -507,7 +509,9 @@ void View::update_viewport()
 void View::restack_all_trace_tree_items()
 {
        // Make a list of owners that is sorted from deepest first
-       const auto owners = list_row_item_owners();
+       set< TraceTreeItemOwner* > owners;
+       for (const auto &r : *this)
+               owners.insert(r->owner());
        vector< TraceTreeItemOwner* > sorted_owners(owners.begin(), owners.end());
        sort(sorted_owners.begin(), sorted_owners.end(),
                [](const TraceTreeItemOwner* a, const TraceTreeItemOwner *b) {
@@ -518,8 +522,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