diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-12-12 15:02:15 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-12-12 15:02:15 +0000 |
commit | 8687895abba4209a6de8d8a8fc1bda5996f0d875 (patch) | |
tree | a2123e967e7c9906d787a5cec94ec53894d32734 /libs/ardour/region.cc | |
parent | 0c80b01f4724922a95d22fc441d6854da001c442 (diff) |
remove using namespace sigc everywhere to ensure clarity over which bind/mem_fun is being used; make Config::map_parameters take a boost::function rather than a sigc::slot ; continue debugging crash caused by regionviews not tracking their Region's lifetime
git-svn-id: svn://localhost/ardour2/branches/3.0@6357 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/ardour/region.cc')
-rw-r--r-- | libs/ardour/region.cc | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/libs/ardour/region.cc b/libs/ardour/region.cc index 33baa12d20..2c4d8004cf 100644 --- a/libs/ardour/region.cc +++ b/libs/ardour/region.cc @@ -111,7 +111,7 @@ Region::Region (boost::shared_ptr<Source> src, nframes_t start, nframes_t length _sources.push_back (src); _master_sources.push_back (src); - src->GoingAway.connect (bind (mem_fun (*this, &Region::source_deleted), src)); + src->GoingAway.connect (sigc::bind (sigc::mem_fun (*this, &Region::source_deleted), src)); assert(_sources.size() > 0); _positional_lock_style = AudioTime; @@ -341,7 +341,7 @@ Region::~Region () { DEBUG_TRACE (DEBUG::Destruction, string_compose ("Region %1 destructor @ %2\n", _name, this)); notify_callbacks (); - GoingAway (); /* EMIT SIGNAL */ + drop_references (); } void @@ -1419,6 +1419,7 @@ void Region::source_deleted (boost::shared_ptr<Source>) { _sources.clear (); + drop_references (); } vector<string> @@ -1587,14 +1588,14 @@ Region::use_sources (SourceList const & s) for (SourceList::const_iterator i = s.begin (); i != s.end(); ++i) { _sources.push_back (*i); - (*i)->GoingAway.connect (bind (mem_fun (*this, &Region::source_deleted), *i)); + (*i)->GoingAway.connect (sigc::bind (sigc::mem_fun (*this, &Region::source_deleted), *i)); unique_srcs.insert (*i); } for (SourceList::const_iterator i = s.begin (); i != s.end(); ++i) { _master_sources.push_back (*i); if (unique_srcs.find (*i) == unique_srcs.end()) { - (*i)->GoingAway.connect (bind (mem_fun (*this, &Region::source_deleted), *i)); + (*i)->GoingAway.connect (sigc::bind (sigc::mem_fun (*this, &Region::source_deleted), *i)); } } } |