another fix for binding shared_ptr's into signals
git-svn-id: svn://localhost/ardour2/branches/3.0@6194 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
@@ -156,6 +156,16 @@ EditorRegions::handle_new_regions (vector<boost::weak_ptr<Region> >& v)
|
||||
add_regions (v);
|
||||
}
|
||||
|
||||
void
|
||||
EditorRegions::region_hidden_weak (boost::weak_ptr<Region> wr)
|
||||
{
|
||||
boost::shared_ptr<Region> r (wr.lock());
|
||||
|
||||
if (r) {
|
||||
region_hidden (r);
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
EditorRegions::region_hidden (boost::shared_ptr<Region> r)
|
||||
{
|
||||
@@ -163,6 +173,7 @@ EditorRegions::region_hidden (boost::shared_ptr<Region> r)
|
||||
redisplay ();
|
||||
}
|
||||
|
||||
|
||||
void
|
||||
EditorRegions::add_regions (vector<boost::weak_ptr<Region> >& regions)
|
||||
{
|
||||
|
||||
@@ -126,6 +126,7 @@ private:
|
||||
void add_region (boost::shared_ptr<ARDOUR::Region>);
|
||||
void add_regions (std::vector<boost::weak_ptr<ARDOUR::Region> > & );
|
||||
void region_hidden (boost::shared_ptr<ARDOUR::Region>);
|
||||
void region_hidden_weak (boost::weak_ptr<ARDOUR::Region>);
|
||||
void populate_row (boost::shared_ptr<ARDOUR::Region>, Gtk::TreeModel::Row const &);
|
||||
void update_row (boost::shared_ptr<ARDOUR::Region>);
|
||||
bool update_subrows (boost::shared_ptr<ARDOUR::Region>, Gtk::TreeModel::Row const &, int);
|
||||
|
||||
@@ -186,7 +186,7 @@ StreamView::add_region_view_weak (boost::weak_ptr<Region> r)
|
||||
void
|
||||
StreamView::add_region_view (boost::shared_ptr<Region> r)
|
||||
{
|
||||
ENSURE_GUI_THREAD (bind (mem_fun (*this, &StreamView::add_region_view), r));
|
||||
ENSURE_GUI_THREAD (bind (mem_fun (*this, &StreamView::add_region_view_weak), boost::weak_ptr<Region>(r)));
|
||||
|
||||
add_region_view_internal (r, true);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user