13
0

Clean out session-global controllables

This isn't strictly speaking needed, there are only a handful of
users (most notably generic-midi ctrl surface, and Selection)
This commit is contained in:
Robin Gareus 2019-03-23 15:52:36 +01:00
parent da114c5a4d
commit 96e991d08f
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04

View File

@ -680,6 +680,14 @@ Session::destroy ()
Port::PortDrop (); /* EMIT SIGNAL */
{
Glib::Threads::Mutex::Lock lm (controllables_lock);
for (Controllables::iterator i = controllables.begin(); i != controllables.end(); ++i) {
(*i)->DropReferences (); /* EMIT SIGNAL */
}
controllables.clear ();
}
/* clear history so that no references to objects are held any more */
_history.clear ();
@ -864,6 +872,10 @@ Session::destroy ()
DEBUG_TRACE (DEBUG::Destruction, "Session::destroy() done\n");
#ifndef NDEBUG
Controllable::dump_registry ();
#endif
BOOST_SHOW_POINTERS ();
}