re-reference regions during uncombine - #5979
authorRobin Gareus <robin@gareus.org>
Fri, 10 Oct 2014 12:05:49 +0000 (14:05 +0200)
committerRobin Gareus <robin@gareus.org>
Fri, 10 Oct 2014 12:05:49 +0000 (14:05 +0200)
libs/ardour/playlist.cc

index 77666977fc279687b16bed36a83712ab6e73b7a6..c8cca64b782d69bdb899dfbe6782b88924ad59fb 100644 (file)
@@ -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;