summaryrefslogtreecommitdiff
path: root/gtk2_ardour
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2017-02-20 21:37:50 +0100
committerRobin Gareus <robin@gareus.org>2017-02-20 21:37:50 +0100
commit4ece934e6690b515bfb5dc39ec8d71b9b2be6c48 (patch)
tree056023f624a37da761d5c5ef34c6381a8f302d4e /gtk2_ardour
parent3a50975c3dae3759d9e7f4fdcf9a39ed4e3e69e7 (diff)
Fix iterator off-by-one: Allow to move top-most track. via ctrl up/down
Diffstat (limited to 'gtk2_ardour')
-rw-r--r--gtk2_ardour/editor_routes.cc9
1 files 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());
}
}