diff options
Diffstat (limited to 'libs/ardour/session.cc')
-rw-r--r-- | libs/ardour/session.cc | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/libs/ardour/session.cc b/libs/ardour/session.cc index 2b4fe2b7f1..62514f6d36 100644 --- a/libs/ardour/session.cc +++ b/libs/ardour/session.cc @@ -644,6 +644,11 @@ 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 */ @@ -7071,13 +7076,14 @@ Session::operation_in_progress (GQuark op) const boost::shared_ptr<Port> Session::ltc_input_port () const { + assert (_ltc_input); return _ltc_input->nth (0); } boost::shared_ptr<Port> Session::ltc_output_port () const { - return _ltc_output->nth (0); + return _ltc_output ? _ltc_output->nth (0) : boost::shared_ptr<Port> (); } void |