++next;
i->second->property_x1() = - d;
i->second->property_x2() = - d;
+ ArdourCanvas::SimpleLine* f = i->second;
_lines.erase(i);
- _lines.insert(make_pair(- d, i->second));
+ _lines.insert(make_pair(- d, f));
i = next;
}
}
for (i = begin; i != end; ++i) {
- if ((*i).type == ARDOUR::TempoMap::Bar) {
+ if ((*i).is_bar()) {
color = ARDOUR_UI::config()->canvasvar_MeasureLineBar.get();
} else {
if (beat_density > 2.0) {
// Steal from the right
if (left->first > needed_left && li != steal && steal->first > needed_right) {
//cout << "*** STEALING FROM RIGHT" << endl;
+ double const x = steal->first;
line = steal->second;
_lines.erase(steal);
line->property_x1() = xpos;
// Shift clean range left
_clean_left = min(_clean_left, xpos);
- _clean_right = min(_clean_right, steal->first);
+ _clean_right = min(_clean_right, x);
// Move this line to where we need it
} else {
//cout << "*** STEALING FROM LEFT" << endl;
assert(_lines.find(xpos) == _lines.end());
Lines::iterator steal = _lines.begin();
+ double const x = steal->first;
line = steal->second;
_lines.erase(steal);
line->property_color_rgba() = color;
invalidated = true;
// Shift clean range right
- _clean_left = max(_clean_left, steal->first);
+ _clean_left = max(_clean_left, x);
_clean_right = max(_clean_right, xpos);
}
}