diff --git a/gtk2_ardour/editor_actions.cc b/gtk2_ardour/editor_actions.cc index cb144ea755..7f5b023fdd 100644 --- a/gtk2_ardour/editor_actions.cc +++ b/gtk2_ardour/editor_actions.cc @@ -1021,9 +1021,7 @@ Editor::capture_sources_changed (bool cleared) if (cleared || !_session) { ActionManager::get_action (X_("Editor"), X_("remove-last-capture"))->set_sensitive (false); } else { - std::list > srcs; - _session->get_last_capture_sources (srcs); - ActionManager::get_action (X_("Editor"), X_("remove-last-capture"))->set_sensitive (!srcs.empty ()); + ActionManager::get_action (X_("Editor"), X_("remove-last-capture"))->set_sensitive (_session->have_last_capture_sources ()); } } diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc index 0bd94785d3..10028a6d44 100644 --- a/gtk2_ardour/editor_ops.cc +++ b/gtk2_ardour/editor_ops.cc @@ -5471,17 +5471,12 @@ Editor::tag_last_capture () std::list > rlist; std::list > srcs; - _session->get_last_capture_sources (srcs); - for (std::list >::iterator i = srcs.begin(); i != srcs.end(); ++i) { - std::shared_ptr source = (*i); - if (source) { - - set > regions; - RegionFactory::get_regions_using_source (source, regions); - for (set >::iterator r = regions.begin(); r != regions.end(); r++) { - rlist.push_back(*r); - } - + _session->last_capture_sources (srcs); + for (auto const& source : srcs) { + set> regions; + RegionFactory::get_regions_using_source (source, regions); + for (auto const& r: regions) { + rlist.push_back (r); } }