(*i)[_columns.visible] = tv->marked_for_display ();
}
- /* force route order keys catch up with visibility changes
- */
+ /* force route order keys catch up with visibility changes */
sync_presentation_info_from_treeview ();
}
DEBUG_TRACE (DEBUG::OrderKeys, "editor sync presentation info from treeview\n");
- TreeModel::Children::iterator ri;
bool change = false;
PresentationInfo::order_t order = 0;
PresentationInfo::ChangeSuspender cs;
- for (ri = rows.begin(); ri != rows.end(); ++ri) {
+ for (TreeModel::Children::iterator ri = rows.begin(); ri != rows.end(); ++ri) {
boost::shared_ptr<Stripable> stripable = (*ri)[_columns.stripable];
bool visible = (*ri)[_columns.visible];
#ifndef NDEBUG // these should not exist in the treeview
+ assert (stripable);
if (stripable->is_monitor() || stripable->is_auditioner()) {
assert (0);
continue;
TreeModel::Children rows = _model->children();
- if (what_changed.contains (hidden_or_order)) {
+ bool changed = false;
+ if (what_changed.contains (hidden_or_order)) {
vector<int> neworder;
uint32_t old_order = 0;
- bool changed = false;
if (rows.empty()) {
return;
}
}
- if (what_changed.contains (Properties::selected)) {
-
+ if (changed || what_changed.contains (Properties::selected)) {
/* by the time this is invoked, the GUI Selection model has
* already updated itself.
*/
-
PBD::Unwinder<bool> uw (_ignore_selection_change, true);
- /* set the treeview model selection state */
+ /* set the treeview model selection state */
for (TreeModel::Children::iterator ri = rows.begin(); ri != rows.end(); ++ri) {
boost::shared_ptr<Stripable> stripable = (*ri)[_columns.stripable];
if (stripable && stripable->is_selected()) {