X-Git-Url: http://git.code-monkey.de/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fview%2Fview.cpp;h=e7308ddf69f0586064b0112e2586d07eab423957;hp=a7dcc20bf94194c8011e12e64ae5e027344ef4d0;hb=bf0edd2b0cbb5f4bd5d69b0f00bcea7d037e2287;hpb=14f9d4a1f4472d29366ed8333b20f4041cf1b443 diff --git a/pv/view/view.cpp b/pv/view/view.cpp index a7dcc20..e7308dd 100644 --- a/pv/view/view.cpp +++ b/pv/view/view.cpp @@ -739,7 +739,7 @@ void View::update_layout() TraceTreeItemOwner* View::find_prevalent_trace_group( const shared_ptr &group, - const unordered_map, shared_ptr > + const unordered_map, shared_ptr > &signal_map) { assert(group); @@ -749,13 +749,13 @@ TraceTreeItemOwner* View::find_prevalent_trace_group( // Make a set and a list of all the owners for (const auto &channel : group->channels()) { - const auto iter = signal_map.find(channel); - if (iter == signal_map.end()) - continue; - - TraceTreeItemOwner *const o = (*iter).second->owner(); - owner_list.push_back(o); - owners.insert(o); + for (auto entry : signal_map) { + if (entry.first->channel() == channel) { + TraceTreeItemOwner *const o = (entry.second)->owner(); + owner_list.push_back(o); + owners.insert(o); + } + } } // Iterate through the list of owners, and find the most prevalent @@ -776,24 +776,24 @@ TraceTreeItemOwner* View::find_prevalent_trace_group( vector< shared_ptr > View::extract_new_traces_for_channels( const vector< shared_ptr > &channels, - const unordered_map, shared_ptr > + const unordered_map, shared_ptr > &signal_map, set< shared_ptr > &add_list) { vector< shared_ptr > filtered_traces; for (const auto &channel : channels) { - const auto map_iter = signal_map.find(channel); - if (map_iter == signal_map.end()) - continue; - - shared_ptr trace = (*map_iter).second; - const auto list_iter = add_list.find(trace); - if (list_iter == add_list.end()) - continue; - - filtered_traces.push_back(trace); - add_list.erase(list_iter); + for (auto entry : signal_map) { + if (entry.first->channel() == channel) { + shared_ptr trace = entry.second; + const auto list_iter = add_list.find(trace); + if (list_iter == add_list.end()) + continue; + + filtered_traces.push_back(trace); + add_list.erase(list_iter); + } + } } return filtered_traces; @@ -973,7 +973,7 @@ void View::signals_changed() inserter(remove_traces, remove_traces.begin())); // Make a look-up table of sigrok Channels to pulseview Signals - unordered_map, shared_ptr > + unordered_map, shared_ptr > signal_map; for (const shared_ptr &sig : sigs) signal_map[sig->channel()] = sig;