summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gtk2_ardour/editor_routes.cc8
-rw-r--r--gtk2_ardour/mixer_ui.cc8
-rw-r--r--gtk2_ardour/route_sorter.h2
3 files changed, 18 insertions, 0 deletions
diff --git a/gtk2_ardour/editor_routes.cc b/gtk2_ardour/editor_routes.cc
index 5c32330139..fe1e5af62b 100644
--- a/gtk2_ardour/editor_routes.cc
+++ b/gtk2_ardour/editor_routes.cc
@@ -1079,6 +1079,14 @@ EditorRoutes::sync_presentation_info_from_treeview ()
change = true;
}
}
+ if (change) {
+ n = 0;
+ for (OrderingKeys::iterator sr = sorted.begin(); sr != sorted.end(); ++sr, ++n) {
+ if (sr->stripable->presentation_info().order() != n) {
+ sr->stripable->set_presentation_order (n, false);
+ }
+ }
+ }
}
if (change) {
diff --git a/gtk2_ardour/mixer_ui.cc b/gtk2_ardour/mixer_ui.cc
index 4f87e04c7a..766f39ddf3 100644
--- a/gtk2_ardour/mixer_ui.cc
+++ b/gtk2_ardour/mixer_ui.cc
@@ -761,6 +761,14 @@ Mixer_UI::sync_presentation_info_from_treeview ()
change = true;
}
}
+ if (change) {
+ n = 0;
+ for (OrderingKeys::iterator sr = sorted.begin(); sr != sorted.end(); ++sr, ++n) {
+ if (sr->stripable->presentation_info().order() != n) {
+ sr->stripable->set_presentation_order (n, false);
+ }
+ }
+ }
}
if (change) {
diff --git a/gtk2_ardour/route_sorter.h b/gtk2_ardour/route_sorter.h
index bba7424dc1..bf054b1ad4 100644
--- a/gtk2_ardour/route_sorter.h
+++ b/gtk2_ardour/route_sorter.h
@@ -30,9 +30,11 @@ struct OrderKeys {
uint32_t old_display_order;
uint32_t new_display_order;
uint32_t compare_order;
+ boost::shared_ptr<ARDOUR::Stripable> stripable;
OrderKeys (uint32_t ok, boost::shared_ptr<ARDOUR::Stripable> s, uint32_t cmp_max)
: old_display_order (ok)
+ , stripable (s)
{
new_display_order = s->presentation_info().order();
compare_order = new_display_order;