diff --git a/gtk2_ardour/editor_selection.cc b/gtk2_ardour/editor_selection.cc index 9341bc30b0..304c2aae82 100644 --- a/gtk2_ardour/editor_selection.cc +++ b/gtk2_ardour/editor_selection.cc @@ -782,6 +782,26 @@ Editor::select_all_within (nframes_t start, nframes_t end, double top, double bo return false; } + /* `touched' may contain some regions; if so, we need to add equivalent + regions from any edit groups */ + + list to_add; + + for (list::iterator i = touched.begin(); i != touched.end(); ++i) { + RegionView* r = dynamic_cast (*i); + if (r) { + vector e; + get_equivalent_regions (r, e); + for (vector::iterator j = e.begin(); j != e.end(); ++j) { + to_add.push_back (*j); + } + } + } + + for (list::iterator i = to_add.begin(); i != to_add.end(); ++i) { + touched.push_back (*i); + } + if (!touched_tracks.empty()) { switch (op) {