diff options
author | Robin Gareus <robin@gareus.org> | 2014-10-10 14:05:49 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-10-10 14:05:49 +0200 |
commit | 9df1d1ef2e98a3ecfa40325a5a46223060c1baae (patch) | |
tree | 8e6fb7704531e2b2107d45c1090f24eeecec9635 /libs/ardour/playlist.cc | |
parent | e6252e0494c30c94599ef15c9721af68a0f18e13 (diff) |
re-reference regions during uncombine - #5979
Diffstat (limited to 'libs/ardour/playlist.cc')
-rw-r--r-- | libs/ardour/playlist.cc | 4 |
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; |