add a fix for the one problem case from the last commit: region splitting, where we don't announce regions until the entire edit op is done, but for naming purpoes each new region created needs to be in the map. likely that i will commit a better, cleaner fix for this later

git-svn-id: svn://localhost/ardour2/branches/3.0@12458 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Paul Davis 2012-05-27 18:22:45 +00:00
parent 20299f71e3
commit bdfd71602f
2 changed files with 15 additions and 1 deletions

View File

@ -5916,6 +5916,10 @@ Editor::split_region_at_points (boost::shared_ptr<Region> r, AnalysisFeatureList
plist.add (ARDOUR::Properties::layer, 0);
boost::shared_ptr<Region> nr = RegionFactory::create (r->sources(), plist, false);
/* because we set annouce to false, manually add the new region to the
RegionFactory map
*/
RegionFactory::map_add (nr);
pl->add_region (nr, r->position() + pos);
@ -5940,6 +5944,10 @@ Editor::split_region_at_points (boost::shared_ptr<Region> r, AnalysisFeatureList
plist.add (ARDOUR::Properties::layer, 0);
boost::shared_ptr<Region> nr = RegionFactory::create (r->sources(), plist, false);
/* because we set annouce to false, manually add the new region to the
RegionFactory map
*/
RegionFactory::map_add (nr);
pl->add_region (nr, r->position() + pos);
if (select_new) {

View File

@ -111,6 +111,13 @@ public:
static void add_compound_association (boost::shared_ptr<Region>, boost::shared_ptr<Region>);
/* exposed because there may be cases where regions are created with
* announce=false but they still need to be in the map soon after
* creation.
*/
static void map_add (boost::shared_ptr<Region>);
private:
static void region_changed (PBD::PropertyChange const &, boost::weak_ptr<Region>);
@ -118,7 +125,6 @@ public:
static Glib::StaticMutex region_map_lock;
static RegionMap region_map;
static void map_add (boost::shared_ptr<Region>);
static Glib::StaticMutex region_name_map_lock;