summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_ops.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2016-06-10 13:55:31 -0400
committerPaul Davis <paul@linuxaudiosystems.com>2016-06-10 13:57:19 -0400
commitf1d9dbf359c1bb5a22df6a7c188947acf685d0a5 (patch)
treeb7d7253bf35e3b00e05f4ac896febd5885d72357 /gtk2_ardour/editor_ops.cc
parent49011ea14646037ae940dcb19f45397c431713df (diff)
fix behaviour of select_(next|prev)_route() in editor, when VCAs are present.
Diffstat (limited to 'gtk2_ardour/editor_ops.cc')
-rw-r--r--gtk2_ardour/editor_ops.cc11
1 files changed, 8 insertions, 3 deletions
diff --git a/gtk2_ardour/editor_ops.cc b/gtk2_ardour/editor_ops.cc
index ccb77558b8..d22df0a0bf 100644
--- a/gtk2_ardour/editor_ops.cc
+++ b/gtk2_ardour/editor_ops.cc
@@ -6168,6 +6168,7 @@ Editor::select_next_route()
RouteUI *rui;
do {
for (TrackViewList::iterator i = track_views.begin(); i != track_views.end(); ++i) {
+
if (*i == current) {
++i;
if (i != track_views.end()) {
@@ -6179,10 +6180,12 @@ Editor::select_next_route()
break;
}
}
+
rui = dynamic_cast<RouteUI *>(current);
- } while ( current->hidden() || (rui != NULL && !rui->route()->active()));
- selection->set(current);
+ } while (current->hidden() || (rui == NULL) || !rui->route()->active());
+
+ selection->set (current);
ensure_time_axis_view_is_visible (*current, false);
}
@@ -6200,6 +6203,7 @@ Editor::select_prev_route()
RouteUI *rui;
do {
for (TrackViewList::reverse_iterator i = track_views.rbegin(); i != track_views.rend(); ++i) {
+
if (*i == current) {
++i;
if (i != track_views.rend()) {
@@ -6211,7 +6215,8 @@ Editor::select_prev_route()
}
}
rui = dynamic_cast<RouteUI *>(current);
- } while ( current->hidden() || (rui != NULL && !rui->route()->active()));
+
+ } while (current->hidden() || (rui == NULL) || !rui->route()->active());
selection->set (current);