summaryrefslogtreecommitdiff
path: root/libs/ardour/playlist.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2014-10-10 14:05:49 +0200
committerRobin Gareus <robin@gareus.org>2014-10-10 14:05:49 +0200
commit9df1d1ef2e98a3ecfa40325a5a46223060c1baae (patch)
tree8e6fb7704531e2b2107d45c1090f24eeecec9635 /libs/ardour/playlist.cc
parente6252e0494c30c94599ef15c9721af68a0f18e13 (diff)
re-reference regions during uncombine - #5979
Diffstat (limited to 'libs/ardour/playlist.cc')
-rw-r--r--libs/ardour/playlist.cc4
1 files changed, 4 insertions, 0 deletions
diff --git a/libs/ardour/playlist.cc b/libs/ardour/playlist.cc
index 77666977fc..c8cca64b78 100644
--- a/libs/ardour/playlist.cc
+++ b/libs/ardour/playlist.cc
@@ -3038,6 +3038,7 @@ Playlist::uncombine (boost::shared_ptr<Region> target)
}
boost::shared_ptr<Region> original (ca->second);
+ cassocs.erase(ca);
bool modified_region;
if (i == rl.begin()) {
@@ -3135,6 +3136,9 @@ Playlist::uncombine (boost::shared_ptr<Region> target)
for (vector<boost::shared_ptr<Region> >::iterator i = originals.begin(); i != originals.end(); ++i) {
add_region ((*i), (*i)->position());
set_layer((*i), (*i)->layer());
+ if (!RegionFactory::region_by_id((*i)->id())) {
+ RegionFactory::map_add(*i);
+ }
}
in_partition = false;