summaryrefslogtreecommitdiff
path: root/gtk2_ardour/editor_routes.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2017-01-26 19:20:40 +0100
committerPaul Davis <paul@linuxaudiosystems.com>2017-01-27 22:17:53 +0100
commite5aa0d774e571878e600495cbabfe8073de0599c (patch)
treee7f3f36ca43cf2c577f5e818811b6b8dca3a7db8 /gtk2_ardour/editor_routes.cc
parent8cb3c42548e10539c1ccb1252189d65075132828 (diff)
use RAII for class-wide PresentationInfo::Change signal, along with properties to describe what changed
Diffstat (limited to 'gtk2_ardour/editor_routes.cc')
-rw-r--r--gtk2_ardour/editor_routes.cc12
1 files changed, 4 insertions, 8 deletions
diff --git a/gtk2_ardour/editor_routes.cc b/gtk2_ardour/editor_routes.cc
index 69c876ba99..27189f29af 100644
--- a/gtk2_ardour/editor_routes.cc
+++ b/gtk2_ardour/editor_routes.cc
@@ -1019,6 +1019,8 @@ EditorRoutes::sync_presentation_info_from_treeview ()
OrderingKeys sorted;
const size_t cmp_max = rows.size ();
+ PresentationInfo::ChangeSuspender cs;
+
// special case master if it's got PI order 0 lets keep it there
if (_session->master_out() && (_session->master_out()->presentation_info().order() == 0)) {
order++;
@@ -1059,7 +1061,7 @@ EditorRoutes::sync_presentation_info_from_treeview ()
}
if (order != stripable->presentation_info().order()) {
- stripable->set_presentation_order (order, false);
+ stripable->set_presentation_order (order);
change = true;
}
@@ -1083,17 +1085,11 @@ EditorRoutes::sync_presentation_info_from_treeview ()
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);
+ sr->stripable->set_presentation_order (n);
}
}
}
}
-
- if (change) {
- DEBUG_TRACE (DEBUG::OrderKeys, "... notify PI change from editor GUI\n");
- _session->notify_presentation_info_change ();
- _session->set_dirty();
- }
}
void