From 4ece934e6690b515bfb5dc39ec8d71b9b2be6c48 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Mon, 20 Feb 2017 21:37:50 +0100 Subject: [PATCH] Fix iterator off-by-one: Allow to move top-most track. via ctrl up/down --- gtk2_ardour/editor_routes.cc | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/gtk2_ardour/editor_routes.cc b/gtk2_ardour/editor_routes.cc index 67f15e8a3a..abdd3f47b1 100644 --- a/gtk2_ardour/editor_routes.cc +++ b/gtk2_ardour/editor_routes.cc @@ -1663,9 +1663,9 @@ EditorRoutes::move_selected_tracks (bool up) PresentationInfo::ChangeSuspender cs; if (up) { - unselected_neighbour = view_stripables.end (); + unselected_neighbour = view_stripables.begin (); + ++unselected_neighbour; vsi = view_stripables.begin(); - ++vsi; while (vsi != view_stripables.end()) { @@ -1699,10 +1699,11 @@ EditorRoutes::move_selected_tracks (bool up) unselected_neighbour = view_stripables.end(); vsi = unselected_neighbour; - --vsi; do { + --vsi; + if (vsi->stripable->presentation_info().selected()) { if (unselected_neighbour != view_stripables.end()) { @@ -1726,8 +1727,6 @@ EditorRoutes::move_selected_tracks (bool up) } - --vsi; - } while (vsi != view_stripables.begin()); } } -- 2.30.2