From 6e09e72f1112bbd49a174223b82513b78d4093b6 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Tue, 31 Jan 2017 20:42:22 +0100 Subject: Skip no-change re-ordering of tracks/busses e.g. move top-most track up, bottom-most track down. --- gtk2_ardour/editor_routes.cc | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'gtk2_ardour/editor_routes.cc') diff --git a/gtk2_ardour/editor_routes.cc b/gtk2_ardour/editor_routes.cc index cec0969863..2c39190758 100644 --- a/gtk2_ardour/editor_routes.cc +++ b/gtk2_ardour/editor_routes.cc @@ -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::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) { -- cgit v1.2.3