raster pushed a commit to branch master.

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

commit e6c05913c6815dc96f67e2ae1bb226e9ead2d6a0
Author: Carsten Haitzler (Rasterman) <ras...@rasterman.com>
Date:   Tue Mar 30 01:51:21 2021 +0100

    emixer - handle source del properly - shut down src mon
---
 src/modules/mixer/emixer.c | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/src/modules/mixer/emixer.c b/src/modules/mixer/emixer.c
index e9554818e..7a3088e45 100644
--- a/src/modules/mixer/emixer.c
+++ b/src/modules/mixer/emixer.c
@@ -1304,8 +1304,21 @@ _emix_source_add(Emix_Source *source)
 static void
 _emix_source_del(Emix_Source *source)
 {
-   Eina_List *l;
+   Eina_List *l, *ll;
    Evas_Object *fr;
+   Mon_Data *md;
+
+   emix_source_monitor(source, EINA_FALSE);
+   EINA_LIST_FOREACH_SAFE(_monitor_data_list, l, ll, md)
+     {
+        if (md->source == source)
+          {
+             emix_event_callback_del(_cb_emix_sink_monitor_event, md);
+             _monitor_data_list = eina_list_remove_list(_monitor_data_list, l);
+             if (md->animator) ecore_animator_del(md->animator);
+             free(md);
+          }
+     }
    EINA_LIST_FOREACH(source_list, l, fr)
      {
         if (evas_object_data_get(fr, "source") == source)

-- 


Reply via email to