summaryrefslogtreecommitdiff
path: root/gtk2_ardour/audio_streamview.cc
diff options
context:
space:
mode:
authorPaul Davis <paul@linuxaudiosystems.com>2006-10-17 20:40:39 +0000
committerPaul Davis <paul@linuxaudiosystems.com>2006-10-17 20:40:39 +0000
commit0ef71e47de8870e74f02b457cb513930df514266 (patch)
tree6c1e093957805161c88ac6294bfc3c6534f95e7f /gtk2_ardour/audio_streamview.cc
parentfe7c3976c9382bb9f19797034dece570eefcbf01 (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.cc21
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 */