daemon: Fix #33

JACK graph connections are always visible and match the actual
JACK graph connections. So the logic for hiding connections when
they are removed should be disabled for JACK graphs. See
also commit 5ef9e1e006 where this
bug was intoduced.
This commit is contained in:
Nedko Arnaudov 2009-12-12 21:55:41 +02:00
parent a1670050dc
commit d76dcc4b20
3 changed files with 9 additions and 7 deletions

View File

@ -1342,7 +1342,8 @@ ladish_graph_add_connection(
void
ladish_graph_remove_connection(
ladish_graph_handle graph_handle,
uint64_t connection_id)
uint64_t connection_id,
bool force)
{
struct ladish_graph_connection * connection_ptr;
@ -1353,7 +1354,7 @@ ladish_graph_remove_connection(
return;
}
if (connection_ptr->changing)
if (force || connection_ptr->changing)
{
/* log_info( */
/* "removing connection '%s':'%s' - '%s':'%s'", */

View File

@ -94,7 +94,8 @@ ladish_graph_add_connection(
void
ladish_graph_remove_connection(
ladish_graph_handle graph_handle,
uint64_t connection_id);
uint64_t connection_id,
bool force);
bool
ladish_graph_get_connection_ports(

View File

@ -569,12 +569,12 @@ static void ports_connected(void * context, uint64_t client1_id, uint64_t port1_
if (ladish_graph_find_connection(virtualizer_ptr->studio_graph, port1, port2, &connection_id))
{
log_info("showing hidden connection");
log_info("showing hidden studio connection");
ladish_graph_show_connection(virtualizer_ptr->studio_graph, connection_id);
}
else
{
log_info("creating new connection");
log_info("creating new studio connection");
ladish_graph_add_connection(virtualizer_ptr->studio_graph, port1, port2, false);
}
}
@ -603,7 +603,7 @@ static void ports_disconnected(void * context, uint64_t client1_id, uint64_t por
if (ladish_graph_find_connection(virtualizer_ptr->jack_graph, port1, port2, &connection_id))
{
ladish_graph_remove_connection(virtualizer_ptr->jack_graph, connection_id);
ladish_graph_remove_connection(virtualizer_ptr->jack_graph, connection_id, true);
}
else
{
@ -612,7 +612,7 @@ static void ports_disconnected(void * context, uint64_t client1_id, uint64_t por
if (ladish_graph_find_connection(virtualizer_ptr->studio_graph, port1, port2, &connection_id))
{
ladish_graph_remove_connection(virtualizer_ptr->studio_graph, connection_id);
ladish_graph_remove_connection(virtualizer_ptr->studio_graph, connection_id, false);
}
else
{