fix behaviour of select_(next|prev)_route() in editor, when VCAs are present.
authorPaul Davis <paul@linuxaudiosystems.com>
Fri, 10 Jun 2016 17:55:31 +0000 (13:55 -0400)
committerPaul Davis <paul@linuxaudiosystems.com>
Fri, 10 Jun 2016 17:57:19 +0000 (13:57 -0400)
gtk2_ardour/editor_ops.cc

index ccb77558b82344cff4310d9c5f8f6e5385960177..d22df0a0bf3928ff01c9729fac31d5d8daaa37b2 100644 (file)
@@ -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);