commit crash caused by not displaying first and last points of an automation line at large zooms
git-svn-id: svn://localhost/ardour2/trunk@1047 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
dc40809648
commit
2001efa088
@ -155,8 +155,6 @@ AudioRegionView::init (Gdk::Color& basic_color, bool wfd)
|
||||
|
||||
gain_line = new AudioRegionGainLine (foo, trackview.session(), *this, *group, audio_region()->envelope());
|
||||
|
||||
cerr << "Initializing RV for " << audio_region()->name() << " with " << audio_region()->envelope().size() << " points\n";
|
||||
|
||||
if (!(_flags & EnvelopeVisible)) {
|
||||
gain_line->hide ();
|
||||
} else {
|
||||
|
@ -746,10 +746,13 @@ AutomationLine::determine_visible_control_points (ALPoints& points)
|
||||
this_rx = (uint32_t) rint (tx);
|
||||
this_ry = (uint32_t) rint (ty);
|
||||
|
||||
if (view_index && pi != npoints && (this_rx == prev_rx) && (this_ry == prev_ry) ||
|
||||
((this_rx - prev_rx) < (box_size + 2))) {
|
||||
if (view_index && pi != npoints && /* not the first, not the last */
|
||||
|
||||
/* same point or too close to the last one horizontally */
|
||||
|
||||
(((this_rx == prev_rx) && (this_ry == prev_ry)) || ((this_rx - prev_rx) < (box_size + 2)))) {
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
/* ok, we should display this point */
|
||||
|
||||
@ -811,8 +814,6 @@ AutomationLine::determine_visible_control_points (ALPoints& points)
|
||||
|
||||
/* discard extra CP's to avoid confusing ourselves */
|
||||
|
||||
cerr << "here we are, view_index = " << view_index << " cp size = " << control_points.size() << " np = " << npoints << endl;
|
||||
|
||||
while (control_points.size() > view_index) {
|
||||
ControlPoint* cp = control_points.back();
|
||||
control_points.pop_back ();
|
||||
|
Loading…
Reference in New Issue
Block a user