e.g. move top-most track up, bottom-most track down.
};
}
- 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) {
#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) {
DEBUG_TRACE (DEBUG::OrderKeys, "-------\n");
#endif
-
_model->reorder (neworder);
if (scroll_to) {