diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2006-10-17 20:40:39 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2006-10-17 20:40:39 +0000 |
commit | 0ef71e47de8870e74f02b457cb513930df514266 (patch) | |
tree | 6c1e093957805161c88ac6294bfc3c6534f95e7f /gtk2_ardour/audio_streamview.cc | |
parent | fe7c3976c9382bb9f19797034dece570eefcbf01 (diff) |
reduce calls to fit_to_pixels(); flip back to old fix for rec regions botch; executable stack fix; avoid delete this in MementoCommand lifetime management
git-svn-id: svn://localhost/ardour2/trunk@988 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/audio_streamview.cc')
-rw-r--r-- | gtk2_ardour/audio_streamview.cc | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/gtk2_ardour/audio_streamview.cc b/gtk2_ardour/audio_streamview.cc index 97505d90f0..0a74d89d35 100644 --- a/gtk2_ardour/audio_streamview.cc +++ b/gtk2_ardour/audio_streamview.cc @@ -126,7 +126,7 @@ AudioStreamView::set_amplitude_above_axis (gdouble app) } void -AudioStreamView::add_region_view_internal (boost::shared_ptr<Region> r, bool wait_for_waves, bool watch_death) +AudioStreamView::add_region_view_internal (boost::shared_ptr<Region> r, bool wait_for_waves) { AudioRegionView *region_view; @@ -167,10 +167,8 @@ AudioStreamView::add_region_view_internal (boost::shared_ptr<Region> r, bool wai region_view->set_waveform_visible(_trackview.editor.show_waveforms()); - if (watch_death) { - /* catch regionview going away */ - region->GoingAway.connect (bind (mem_fun (*this, &AudioStreamView::remove_region_view), boost::weak_ptr<Region> (r))); - } + /* catch regionview going away */ + region->GoingAway.connect (bind (mem_fun (*this, &AudioStreamView::remove_region_view), boost::weak_ptr<Region> (r))); RegionViewAdded (region_view); } @@ -510,8 +508,15 @@ AudioStreamView::setup_rec_box () /* remove temp regions */ - for (list<boost::shared_ptr<Region> >::iterator iter = rec_regions.begin(); iter != rec_regions.end(); ++iter) { + for (list<boost::shared_ptr<Region> >::iterator iter = rec_regions.begin(); iter != rec_regions.end(); ) { + list<boost::shared_ptr<Region> >::iterator tmp; + + tmp = iter; + ++tmp; + (*iter)->drop_references (); + + iter = tmp; } rec_regions.clear(); @@ -605,7 +610,7 @@ AudioStreamView::update_rec_regions () if (origlen == 1) { /* our special initial length */ - add_region_view_internal (region, false, false); + add_region_view_internal (region, false); } /* also update rect */ @@ -630,7 +635,7 @@ AudioStreamView::update_rec_regions () if (origlen == 1) { /* our special initial length */ - add_region_view_internal (region, false, false); + add_region_view_internal (region, false); } /* also hide rect */ |