summaryrefslogtreecommitdiff
path: root/libs/ardour/disk_io.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-03-19 03:02:30 +0100
committerRobin Gareus <robin@gareus.org>2019-03-19 03:08:06 +0100
commitab791658936a24d2df69102d07c430b38db8ca32 (patch)
treedadbc9964027496350a26620252f8f2f5cc18211 /libs/ardour/disk_io.cc
parent7054b2ffc7ceb80a17c9043d3b49e6da9a638d75 (diff)
Fix Playlist refcount when deleting track
Both Disk-reader and Disk-writer use the same playlist. ARDOUR::Track::use_playlist() sets it for both Disk-IO processors, so it needs to be released by both on destruction.
Diffstat (limited to 'libs/ardour/disk_io.cc')
-rw-r--r--libs/ardour/disk_io.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/libs/ardour/disk_io.cc b/libs/ardour/disk_io.cc
index 4c7b77335d..72678304e2 100644
--- a/libs/ardour/disk_io.cc
+++ b/libs/ardour/disk_io.cc
@@ -78,6 +78,12 @@ DiskIOProcessor::~DiskIOProcessor ()
channels.flush ();
delete _midi_buf;
+
+ for (uint32_t n = 0; n < DataType::num_types; ++n) {
+ if (_playlists[n]) {
+ _playlists[n]->release ();
+ }
+ }
}