diff --git a/ChangeLog b/ChangeLog index e2003340..8a89e372 100644 --- a/ChangeLog +++ b/ChangeLog @@ -25,6 +25,7 @@ Fernando Lopez-Lezcano * New jack_server_control client to test notifications when linked to the server library. * Correct JackClient::Activate so that first kGraphOrderCallback can be received by the client notification thread. * MIDI API in wrapper lib. + * Fix connect notification to deliver *one* notification only. 2008-03-16 Stephane Letz diff --git a/common/JackEngine.cpp b/common/JackEngine.cpp index 9790da10..621cff0d 100644 --- a/common/JackEngine.cpp +++ b/common/JackEngine.cpp @@ -704,10 +704,8 @@ int JackEngine::PortConnect(int refnum, jack_port_id_t src, jack_port_id_t dst) } int res = fGraphManager->Connect(src, dst); - if (res == 0) { + if (res == 0) NotifyPortConnect(src, dst, true); - NotifyPortConnect(dst, src, true); - } return res; } @@ -720,7 +718,6 @@ int JackEngine::PortDisconnect(int refnum, const char* src, const char* dst) return -1; } else if (fGraphManager->Disconnect(port_src, port_dst) == 0) { NotifyPortConnect(port_src, port_dst, false); - NotifyPortConnect(port_dst, port_src, false); return 0; } else { return -1; @@ -742,13 +739,11 @@ int JackEngine::PortDisconnect(int refnum, jack_port_id_t src, jack_port_id_t ds for (int i = 0; (i < CONNECTION_NUM) && (connections[i] != EMPTY); i++) { jack_log("NotifyPortConnect src = %ld dst = %ld false", src, connections[i]); NotifyPortConnect(src, connections[i], false); - NotifyPortConnect(connections[i], src, false); } } else { for (int i = 0; (i < CONNECTION_NUM) && (connections[i] != EMPTY); i++) { jack_log("NotifyPortConnect src = %ld dst = %ld false", connections[i], src); NotifyPortConnect(connections[i], src, false); - NotifyPortConnect(src, connections[i], false); } } @@ -758,7 +753,6 @@ int JackEngine::PortDisconnect(int refnum, jack_port_id_t src, jack_port_id_t ds } else if (fGraphManager->Disconnect(src, dst) == 0) { // Notifications NotifyPortConnect(src, dst, false); - NotifyPortConnect(dst, src, false); return 0; } else { return -1;