summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_ops.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2007-01-18 01:31:16 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2007-01-18 01:31:16 +0000
commit6b0e0e379b763795f1356d9fe5cce836350dd18d (patch)
treefc0b6f9813fa1c63b29bd7b5daf8c89053138a8d /gtk2_ardour/editor_ops.cc
parent22d4a0a8c30d96b098bef7e859a6122b7358c857 (diff)
rbselect selects all tracks that had selectables
git-svn-id: svn://localhost/ardour2/trunk@1352 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/editor_ops.cc')
-rw-r--r--gtk2_ardour/editor_ops.cc12
1 files changed, 10 insertions, 2 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index e61f707028..dda9d36b0e 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -1375,13 +1375,21 @@ Editor::invert_selection ()
bool
Editor::select_all_within (nframes_t start, nframes_t end, double top, double bot, Selection::Operation op)
{
- list<Selectable *> touched;
-
+ list<Selectable*> touched;
+ list<Selectable*>::size_type n = 0;
+
for (TrackViewList::iterator iter = track_views.begin(); iter != track_views.end(); ++iter) {
if ((*iter)->hidden()) {
continue;
}
+
+ n = touched.size();
+
(*iter)->get_selectables (start, end, top, bot, touched);
+
+ if (n != touched.size()) {
+ selection->add (*iter);
+ }
}
begin_reversible_command (_("select all within"));