diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2017-01-26 19:20:40 +0100 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2017-01-27 22:17:53 +0100 |
commit | e5aa0d774e571878e600495cbabfe8073de0599c (patch) | |
tree | e7f3f36ca43cf2c577f5e818811b6b8dca3a7db8 /gtk2_ardour/editor_routes.cc | |
parent | 8cb3c42548e10539c1ccb1252189d65075132828 (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.cc | 12 |
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 |