Skip no-change re-ordering of tracks/busses

e.g. move top-most track up, bottom-most track down.
This commit is contained in:
Robin Gareus 2017-01-31 20:42:22 +01:00
parent 353eb5601c
commit 6e09e72f11
1 changed files with 10 additions and 2 deletions

View File

@ -1738,7 +1738,12 @@ EditorRoutes::move_selected_tracks (bool up)
};
}
for (leading = view_stripables.begin(); leading != view_stripables.end(); ++leading) {
bool changed = false;
unsigned int i = 0;
for (leading = view_stripables.begin(); leading != view_stripables.end(); ++leading, ++i) {
if (leading->old_order != i) {
changed = true;
}
neworder.push_back (leading->old_order);
#ifndef NDEBUG
if (leading->old_order != neworder.size() - 1) {
@ -1747,6 +1752,10 @@ EditorRoutes::move_selected_tracks (bool up)
#endif
}
if (!changed) {
return;
}
#ifndef NDEBUG
DEBUG_TRACE (DEBUG::OrderKeys, "New order after moving tracks:\n");
for (vector<int>::iterator i = neworder.begin(); i != neworder.end(); ++i) {
@ -1755,7 +1764,6 @@ EditorRoutes::move_selected_tracks (bool up)
DEBUG_TRACE (DEBUG::OrderKeys, "-------\n");
#endif
_model->reorder (neworder);
if (scroll_to) {