summaryrefslogtreecommitdiff
path: root/libs/ardour
diff options
context:
space:
mode:
Diffstat (limited to 'libs/ardour')
-rw-r--r--libs/ardour/auditioner.cc2
-rw-r--r--libs/ardour/playlist.cc2
-rw-r--r--libs/ardour/session_events.cc2
3 files changed, 4 insertions, 2 deletions
diff --git a/libs/ardour/auditioner.cc b/libs/ardour/auditioner.cc
index e6f4e12e3d..9303b3b318 100644
--- a/libs/ardour/auditioner.cc
+++ b/libs/ardour/auditioner.cc
@@ -135,7 +135,7 @@ Auditioner::audition_region (boost::shared_ptr<Region> region)
boost::shared_ptr<AudioRegion> the_region (boost::dynamic_pointer_cast<AudioRegion> (RegionFactory::create (region)));
the_region->set_position (0, this);
- _diskstream->playlist()->clear ();
+ _diskstream->playlist()->drop_regions ();
_diskstream->playlist()->add_region (the_region, 0, 1);
if (_diskstream->n_channels() < the_region->n_channels()) {
diff --git a/libs/ardour/playlist.cc b/libs/ardour/playlist.cc
index b020680a0d..71deac5874 100644
--- a/libs/ardour/playlist.cc
+++ b/libs/ardour/playlist.cc
@@ -464,7 +464,7 @@ Playlist::add_region (boost::shared_ptr<Region> region, nframes_t position, floa
pos += region->length();
--itimes;
}
-
+
/* later regions will all be spliced anyway */
if (!holding_state ()) {
diff --git a/libs/ardour/session_events.cc b/libs/ardour/session_events.cc
index e93a7a5f17..d736784396 100644
--- a/libs/ardour/session_events.cc
+++ b/libs/ardour/session_events.cc
@@ -406,6 +406,8 @@ Session::process_event (Event* ev)
case Event::Audition:
set_audition (ev->region);
+ // drop reference to region
+ ev->region.reset ();
break;
case Event::InputConfigurationChange: