X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fview.cpp;h=4b17a56f2fded2b7d8031e76e100d4b8e601db18;hb=4800cf9a4b346ec4553234aa1a3e10bf783bf965;hp=540b90e14cffb17021e698549b780475e689f280;hpb=af503b104d890a357c736c678bb00296d889c090;p=pulseview.git diff --git a/pv/view/view.cpp b/pv/view/view.cpp index 540b90e..4b17a56 100644 --- a/pv/view/view.cpp +++ b/pv/view/view.cpp @@ -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 > items( + list_by_type()); + for (const auto &i : items) + i->animate_to_layout_v_offset(); } void View::get_scroll_layout(double &length, Timestamp &offset) const @@ -875,7 +879,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> prev_traces = list_by_type(); + const vector> prev_trace_list = list_by_type(); + const set> prev_traces( + prev_trace_list.begin(), prev_trace_list.end()); shared_lock lock(session_.signals_mutex()); const unordered_set< shared_ptr > &sigs(session_.signals());