aboutsummaryrefslogtreecommitdiffstats
path: root/src/engine/JackDriver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/JackDriver.cpp')
-rw-r--r--src/engine/JackDriver.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/engine/JackDriver.cpp b/src/engine/JackDriver.cpp
index fefa4d2..6dc2153 100644
--- a/src/engine/JackDriver.cpp
+++ b/src/engine/JackDriver.cpp
@@ -60,11 +60,15 @@ JackDriver::attach(const std::string& client_name)
void
JackDriver::detach()
{
- jack_port_unregister(jack_client(), _input_port);
- jack_port_unregister(jack_client(), _output_port);
- _input_port = NULL;
- _output_port = NULL;
-
+ if (_input_port) {
+ jack_port_unregister(jack_client(), _input_port);
+ _input_port = NULL;
+ }
+
+ if (_output_port) {
+ jack_port_unregister(jack_client(), _output_port);
+ _output_port = NULL;
+ }
Raul::JackDriver::detach();
}