check for _port_handle == null throughout Port:: methods
This commit is contained in:
parent
4a1b6b2e78
commit
a686374b9d
@ -97,19 +97,25 @@ Port::drop ()
|
|||||||
bool
|
bool
|
||||||
Port::connected () const
|
Port::connected () const
|
||||||
{
|
{
|
||||||
return (port_engine.connected (_port_handle) != 0);
|
if (_port_handle) {
|
||||||
|
return (port_engine.connected (_port_handle) != 0);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
Port::disconnect_all ()
|
Port::disconnect_all ()
|
||||||
{
|
{
|
||||||
port_engine.disconnect_all (_port_handle);
|
if (_port_handle) {
|
||||||
_connections.clear ();
|
|
||||||
|
port_engine.disconnect_all (_port_handle);
|
||||||
/* a cheaper, less hacky way to do boost::shared_from_this() ...
|
_connections.clear ();
|
||||||
*/
|
|
||||||
boost::shared_ptr<Port> pself = port_manager->get_port_by_name (name());
|
/* a cheaper, less hacky way to do boost::shared_from_this() ...
|
||||||
PostDisconnect (pself, boost::shared_ptr<Port>()); // emit signal
|
*/
|
||||||
|
boost::shared_ptr<Port> pself = port_manager->get_port_by_name (name());
|
||||||
|
PostDisconnect (pself, boost::shared_ptr<Port>()); // emit signal
|
||||||
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -120,6 +126,10 @@ Port::disconnect_all ()
|
|||||||
bool
|
bool
|
||||||
Port::connected_to (std::string const & o) const
|
Port::connected_to (std::string const & o) const
|
||||||
{
|
{
|
||||||
|
if (!_port_handle) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
if (!port_engine.available()) {
|
if (!port_engine.available()) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@ -221,20 +231,26 @@ Port::disconnect (Port* o)
|
|||||||
void
|
void
|
||||||
Port::request_input_monitoring (bool yn)
|
Port::request_input_monitoring (bool yn)
|
||||||
{
|
{
|
||||||
port_engine.request_input_monitoring (_port_handle, yn);
|
if (_port_handle) {
|
||||||
|
port_engine.request_input_monitoring (_port_handle, yn);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
Port::ensure_input_monitoring (bool yn)
|
Port::ensure_input_monitoring (bool yn)
|
||||||
{
|
{
|
||||||
port_engine.ensure_input_monitoring (_port_handle, yn);
|
if (_port_handle) {
|
||||||
|
port_engine.ensure_input_monitoring (_port_handle, yn);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool
|
bool
|
||||||
Port::monitoring_input () const
|
Port::monitoring_input () const
|
||||||
{
|
{
|
||||||
|
if (_port_handle) {
|
||||||
return port_engine.monitoring_input (_port_handle);
|
return port_engine.monitoring_input (_port_handle);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -268,7 +284,9 @@ Port::set_public_latency_range (LatencyRange& range, bool playback) const
|
|||||||
name(), range.min, range.max,
|
name(), range.min, range.max,
|
||||||
(playback ? "PLAYBACK" : "CAPTURE")));;
|
(playback ? "PLAYBACK" : "CAPTURE")));;
|
||||||
|
|
||||||
port_engine.set_latency_range (_port_handle, playback, range);
|
if (_port_handle) {
|
||||||
|
port_engine.set_latency_range (_port_handle, playback, range);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
@ -320,12 +338,16 @@ Port::public_latency_range (bool /*playback*/) const
|
|||||||
{
|
{
|
||||||
LatencyRange r;
|
LatencyRange r;
|
||||||
|
|
||||||
r = port_engine.get_latency_range (_port_handle, sends_output() ? true : false);
|
|
||||||
|
|
||||||
DEBUG_TRACE (DEBUG::Latency, string_compose (
|
if (_port_handle) {
|
||||||
"GET PORT %1: %4 PUBLIC latency range %2 .. %3\n",
|
r = port_engine.get_latency_range (_port_handle, sends_output() ? true : false);
|
||||||
name(), r.min, r.max,
|
|
||||||
sends_output() ? "PLAYBACK" : "CAPTURE"));
|
DEBUG_TRACE (DEBUG::Latency, string_compose (
|
||||||
|
"GET PORT %1: %4 PUBLIC latency range %2 .. %3\n",
|
||||||
|
name(), r.min, r.max,
|
||||||
|
sends_output() ? "PLAYBACK" : "CAPTURE"));
|
||||||
|
}
|
||||||
|
|
||||||
return r;
|
return r;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -435,7 +457,7 @@ Port::reconnect ()
|
|||||||
int
|
int
|
||||||
Port::set_name (std::string const & n)
|
Port::set_name (std::string const & n)
|
||||||
{
|
{
|
||||||
if (n == _name) {
|
if (n == _name || !_port_handle) {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -453,6 +475,10 @@ Port::set_name (std::string const & n)
|
|||||||
bool
|
bool
|
||||||
Port::physically_connected () const
|
Port::physically_connected () const
|
||||||
{
|
{
|
||||||
|
if (!_port_handle) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
return port_engine.physically_connected (_port_handle);
|
return port_engine.physically_connected (_port_handle);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user