diff options
author | Robin Gareus <robin@gareus.org> | 2017-02-20 21:37:50 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2017-02-20 21:37:50 +0100 |
commit | 4ece934e6690b515bfb5dc39ec8d71b9b2be6c48 (patch) | |
tree | 056023f624a37da761d5c5ef34c6381a8f302d4e | |
parent | 3a50975c3dae3759d9e7f4fdcf9a39ed4e3e69e7 (diff) |
Fix iterator off-by-one: Allow to move top-most track. via ctrl up/down
-rw-r--r-- | gtk2_ardour/editor_routes.cc | 9 |
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()); } } |