summaryrefslogtreecommitdiff
path: root/libs/ardour/audio_playlist.cc
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour/audio_playlist.cc')
-rw-r--r--libs/ardour/audio_playlist.cc11
1 files changed, 3 insertions, 8 deletions
diff --git a/libs/ardour/audio_playlist.cc b/libs/ardour/audio_playlist.cc
index fca042e2c5..56f2c4fe83 100644
--- a/libs/ardour/audio_playlist.cc
+++ b/libs/ardour/audio_playlist.cc
@@ -289,10 +289,9 @@ AudioPlaylist::read (Sample *buf, Sample *mixdown_buffer, float *gain_buffer, fr
framepos_t const end = start + cnt - 1;
- RegionList* rlist = regions_to_read (start, start+cnt);
+ boost::shared_ptr<RegionList> rlist = regions_to_read (start, start+cnt);
if (rlist->empty()) {
- delete rlist;
return cnt;
}
@@ -353,7 +352,6 @@ AudioPlaylist::read (Sample *buf, Sample *mixdown_buffer, float *gain_buffer, fr
}
}
- delete rlist;
return ret;
}
@@ -492,7 +490,7 @@ AudioPlaylist::check_dependents (boost::shared_ptr<Region> r, bool norefresh)
boost::shared_ptr<AudioRegion> top;
boost::shared_ptr<AudioRegion> bottom;
boost::shared_ptr<Crossfade> xfade;
- RegionList* touched_regions = 0;
+ boost::shared_ptr<RegionList> touched_regions;
if (in_set_state || in_partition) {
return;
@@ -543,8 +541,7 @@ AudioPlaylist::check_dependents (boost::shared_ptr<Region> r, bool norefresh)
OverlapType c = top->coverage (bottom->position(), bottom->last_frame());
- delete touched_regions;
- touched_regions = 0;
+ touched_regions.reset ();
try {
framecnt_t xfade_length;
@@ -657,8 +654,6 @@ AudioPlaylist::check_dependents (boost::shared_ptr<Region> r, bool norefresh)
}
}
-
- delete touched_regions;
}
void