From 2001efa08838b4dd839cc5b4f6aa3203c4441c5f Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Wed, 1 Nov 2006 12:01:10 +0000 Subject: 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 --- gtk2_ardour/audio_region_view.cc | 2 -- gtk2_ardour/automation_line.cc | 11 ++++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/gtk2_ardour/audio_region_view.cc b/gtk2_ardour/audio_region_view.cc index d9cbfd01c3..aaeea53878 100644 --- a/gtk2_ardour/audio_region_view.cc +++ b/gtk2_ardour/audio_region_view.cc @@ -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 { diff --git a/gtk2_ardour/automation_line.cc b/gtk2_ardour/automation_line.cc index a319b325ed..6002a69353 100644 --- a/gtk2_ardour/automation_line.cc +++ b/gtk2_ardour/automation_line.cc @@ -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 (); -- cgit v1.2.3