diff options
author | Paul Davis <paul@linuxaudiosystems.com> | 2009-12-22 20:21:43 +0000 |
---|---|---|
committer | Paul Davis <paul@linuxaudiosystems.com> | 2009-12-22 20:21:43 +0000 |
commit | c83389b8ec5fef9553a401e6123b7e55702af9e2 (patch) | |
tree | 5580dd13b6275eefe67b9147ce96fa10db4d8674 /libs/pbd/controllable.cc | |
parent | 87fb46859c5950af7c00111afa81a00a1fad2196 (diff) |
cleanup up cleanup at session destruction; clarify the meaning of 3 signals (DropReferences & Destroyed in libardour ; CatchDeletion in the GTK UI); clarify ownership of objects (session no longer pays attention to DropReferences for objects that it is considered to own, such as routes, sources, etc); fix up MIDI parsing and a couple of other places by correcting syntax for return of values from a boost::signals2::signal (possible danger elsewhere to be checked)
git-svn-id: svn://localhost/ardour2/branches/3.0@6389 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'libs/pbd/controllable.cc')
-rw-r--r-- | libs/pbd/controllable.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/libs/pbd/controllable.cc b/libs/pbd/controllable.cc index d751c3c80b..be487a0a87 100644 --- a/libs/pbd/controllable.cc +++ b/libs/pbd/controllable.cc @@ -62,23 +62,23 @@ Controllable::add (Controllable& ctl) /* Controllable::remove() is static - no need to manage this connection */ - ctl.GoingAway.connect_same_thread (registry_connections, boost::bind (&Controllable::remove, ref (ctl))); + ctl.DropReferences.connect_same_thread (registry_connections, boost::bind (&Controllable::remove, &ctl)); } void -Controllable::remove (Controllable& ctl) +Controllable::remove (Controllable* ctl) { Glib::RWLock::WriterLock lm (registry_lock); for (Controllables::iterator i = registry.begin(); i != registry.end(); ++i) { - if ((*i) == &ctl) { + if ((*i) == ctl) { registry.erase (i); break; } } - if (!ctl.uri().empty()) { - ControllablesByURI::iterator i = registry_by_uri.find (ctl.uri()); + if (!ctl->uri().empty()) { + ControllablesByURI::iterator i = registry_by_uri.find (ctl->uri()); if (i != registry_by_uri.end()) { registry_by_uri.erase (i); } |