Remove bind to shared_ptr.
git-svn-id: svn://localhost/ardour2/branches/3.0@12281 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
parent
5bbbc98533
commit
67b74ed1c7
@ -83,7 +83,7 @@ public:
|
|||||||
static void get_regions_using_source (boost::shared_ptr<Source>, std::set<boost::shared_ptr<Region> >& );
|
static void get_regions_using_source (boost::shared_ptr<Source>, std::set<boost::shared_ptr<Region> >& );
|
||||||
static void remove_regions_using_source (boost::shared_ptr<Source>);
|
static void remove_regions_using_source (boost::shared_ptr<Source>);
|
||||||
|
|
||||||
static void map_remove (boost::shared_ptr<Region>);
|
static void map_remove (boost::weak_ptr<Region>);
|
||||||
static void map_remove_with_equivalents (boost::shared_ptr<Region>);
|
static void map_remove_with_equivalents (boost::shared_ptr<Region>);
|
||||||
static void delete_all_regions ();
|
static void delete_all_regions ();
|
||||||
static const RegionMap& regions() { return region_map; }
|
static const RegionMap& regions() { return region_map; }
|
||||||
|
@ -321,7 +321,7 @@ RegionFactory::map_add (boost::shared_ptr<Region> r)
|
|||||||
region_map.insert (p);
|
region_map.insert (p);
|
||||||
}
|
}
|
||||||
|
|
||||||
r->DropReferences.connect_same_thread (region_list_connections, boost::bind (&RegionFactory::map_remove, r));
|
r->DropReferences.connect_same_thread (region_list_connections, boost::bind (&RegionFactory::map_remove, boost::weak_ptr<Region> (r)));
|
||||||
|
|
||||||
r->PropertyChanged.connect_same_thread (
|
r->PropertyChanged.connect_same_thread (
|
||||||
region_list_connections,
|
region_list_connections,
|
||||||
@ -332,8 +332,13 @@ RegionFactory::map_add (boost::shared_ptr<Region> r)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
RegionFactory::map_remove (boost::shared_ptr<Region> r)
|
RegionFactory::map_remove (boost::weak_ptr<Region> w)
|
||||||
{
|
{
|
||||||
|
boost::shared_ptr<Region> r = w.lock ();
|
||||||
|
if (!r) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Glib::Mutex::Lock lm (region_map_lock);
|
Glib::Mutex::Lock lm (region_map_lock);
|
||||||
RegionMap::iterator i = region_map.find (r->id());
|
RegionMap::iterator i = region_map.find (r->id());
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user