improve 1a288ddd, destroy IO after disconnecting from signals.

This does not completely fix the race-condition. The GUI
(e.g. connection-manager) may still hold a shared-ptr reference.
This commit is contained in:
Robin Gareus 2017-08-03 18:52:39 +02:00
parent 1b5354632f
commit 8b380a423a
1 changed files with 7 additions and 7 deletions

View File

@ -644,19 +644,19 @@ Session::destroy ()
_slave = 0;
}
/* remove I/O objects before unsetting the engine session */
_click_io.reset ();
_ltc_input.reset ();
_ltc_output.reset ();
/* disconnect from any and all signals that we are connected to */
Port::PortSignalDrop (); /* EMIT SIGNAL */
drop_connections ();
/* shutdown control surface protocols while we still have ports
and the engine to move data to any devices.
*/
* and the engine to move data to any devices.
*/
/* remove I/O objects before unsetting the engine session */
_click_io.reset ();
_ltc_input.reset ();
_ltc_output.reset ();
ControlProtocolManager::instance().drop_protocols ();