View: Moved in list_row_item_owners
[pulseview.git] / pv / view / view.cpp
index c0b3e251d964c5266d500db962ac2ebbc764b188..4b17a56f2fded2b7d8031e76e100d4b8e601db18 100644 (file)
@@ -507,7 +507,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 +520,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