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

View File

@ -94,7 +94,8 @@ ladish_graph_add_connection(
void void
ladish_graph_remove_connection( ladish_graph_remove_connection(
ladish_graph_handle graph_handle, ladish_graph_handle graph_handle,
uint64_t connection_id); uint64_t connection_id,
bool force);
bool bool
ladish_graph_get_connection_ports( 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)) 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); ladish_graph_show_connection(virtualizer_ptr->studio_graph, connection_id);
} }
else else
{ {
log_info("creating new connection"); log_info("creating new studio connection");
ladish_graph_add_connection(virtualizer_ptr->studio_graph, port1, port2, false); 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)) 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 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)) 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 else
{ {