mixer - mirror changes to new gadget code too

This commit is contained in:
Carsten Haitzler 2019-01-16 16:48:28 +00:00
parent 3b359b4ea7
commit a0611d0026
1 changed files with 6 additions and 5 deletions

View File

@ -860,16 +860,17 @@ _get_ppid(pid_t pid)
static void
_sink_input_event(int type, Emix_Sink_Input *input)
{
Eina_List *clients, *l;
Eina_List *clients, *l, *ll;
E_Client *ec;
E_Client_Volume_Sink *sink;
pid_t pid;
Eina_Bool found = EINA_FALSE;
switch (type)
{
case EMIX_SINK_INPUT_ADDED_EVENT:
pid = input->pid;
while (42)
for (;;)
{
if (pid <= 1 || pid == getpid()) return;
clients = e_client_focus_stack_get();
@ -887,21 +888,21 @@ _sink_input_event(int type, Emix_Sink_Input *input)
input);
e_client_volume_sink_append(ec, sink);
_client_sinks = eina_list_append(_client_sinks, sink);
return;
found = EINA_TRUE;
}
}
if (found) break;
pid = _get_ppid(pid);
}
break;
case EMIX_SINK_INPUT_REMOVED_EVENT:
EINA_LIST_FOREACH(_client_sinks, l, sink)
EINA_LIST_FOREACH_SAFE(_client_sinks, l, ll, sink)
{
if (sink->data == input)
{
e_client_volume_sink_del(sink);
_client_sinks = eina_list_remove_list(_client_sinks, l);
break;
}
}
break;