raster pushed a commit to branch master.

http://git.enlightenment.org/core/enlightenment.git/commit/?id=a0611d002697e6a33d5ef2866b94ad5526176187

commit a0611d002697e6a33d5ef2866b94ad5526176187
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Wed Jan 16 16:48:28 2019 +0000

    mixer - mirror changes to new gadget code too
---
 src/modules/mixer/gadget/mixer.c | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/src/modules/mixer/gadget/mixer.c b/src/modules/mixer/gadget/mixer.c
index c1f1146e8..41c3f24a3 100644
--- a/src/modules/mixer/gadget/mixer.c
+++ b/src/modules/mixer/gadget/mixer.c
@@ -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;

-- 


Reply via email to