forked from enlightenment/enlightenment
mixer - mirror changes to new gadget code too
This commit is contained in:
parent
3b359b4ea7
commit
a0611d0026
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue