fix behaviour when opening up a gap to insert new Stripables.

Need to include all stripables, not just routes, and need to include master since editor (and maybe others) opt
to use the presentation_info().order() value for it
This commit is contained in:
Paul Davis 2016-07-03 13:22:47 -04:00
parent 05a069a9e9
commit 02a18400fa
1 changed files with 7 additions and 6 deletions

View File

@ -2938,17 +2938,18 @@ Session::ensure_route_presentation_info_gap (PresentationInfo::order_t first_new
/* create a gap in the presentation info to accomodate @param how_many
* new objects.
*/
boost::shared_ptr <RouteList> rd = routes.reader();
StripableList sl;
get_stripables (sl);
for (RouteList::iterator ri = rd->begin(); ri != rd->end(); ++ri) {
boost::shared_ptr<Route> rt (*ri);
for (StripableList::iterator si = sl.begin(); si != sl.end(); ++si) {
boost::shared_ptr<Stripable> s (*si);
if (rt->presentation_info().special()) {
if (s->is_monitor() || s->is_auditioner()) {
continue;
}
if (rt->presentation_info().order () >= first_new_order) {
rt->set_presentation_order (rt->presentation_info().order () + how_many);
if (s->presentation_info().order () >= first_new_order) {
s->set_presentation_order (s->presentation_info().order () + how_many);
}
}
}