From 74558ddda71486a386e6cda90d9c9480825e6bb1 Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Sat, 28 Nov 2009 00:53:54 +0000 Subject: [PATCH] don't be using engine->jack() unconditionally in Port methods git-svn-id: svn://localhost/ardour2/branches/3.0@6196 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/ardour/port.cc | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/libs/ardour/port.cc b/libs/ardour/port.cc index 4e55054a1f..5897015b27 100644 --- a/libs/ardour/port.cc +++ b/libs/ardour/port.cc @@ -202,21 +202,39 @@ void Port::recompute_total_latency () const { #ifdef HAVE_JACK_RECOMPUTE_LATENCY - jack_recompute_total_latency (_engine->jack (), _jack_port); + jack_client_t* jack = _engine->jack(); + + if (!jack) { + return; + } + + jack_recompute_total_latency (jack, _jack_port); #endif } nframes_t Port::total_latency () const { - return jack_port_get_total_latency (_engine->jack (), _jack_port); + jack_client_t* jack = _engine->jack(); + + if (!jack) { + return 0; + } + + return jack_port_get_total_latency (jack, _jack_port); } int Port::reestablish () { + jack_client_t* jack = _engine->jack(); + + if (!jack) { + return -1; + } + cerr << "RE-REGISTER: " << _name.c_str() << endl; - _jack_port = jack_port_register (_engine->jack(), _name.c_str(), type().to_jack_type(), _flags, 0); + _jack_port = jack_port_register (jack, _name.c_str(), type().to_jack_type(), _flags, 0); if (_jack_port == 0) { PBD::error << string_compose (_("could not reregister %1"), _name) << endmsg; -- 2.30.2