raster pushed a commit to branch master.

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

commit d8fe6e945026692281060d16b4b353b906527e1a
Author: Carsten Haitzler <ras...@rasterman.com>
Date:   Sun Apr 3 21:10:25 2022 +0100

    evas - handle odd case where smat child is not removed to avoid inf loop
    
    with som refcount fun some o9bjects may not get removed until later
    thus causing infinite loops trying to remove comtained objects so
    remove anyway in this case to avoid looping forever
    
    @fix
---
 src/lib/evas/canvas/evas_object_smart.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/lib/evas/canvas/evas_object_smart.c 
b/src/lib/evas/canvas/evas_object_smart.c
index 104d5caf49..224cc2d619 100644
--- a/src/lib/evas/canvas/evas_object_smart.c
+++ b/src/lib/evas/canvas/evas_object_smart.c
@@ -1674,6 +1674,12 @@ evas_object_smart_cleanup(Evas_Object *eo_obj)
                     }
                }
              else evas_object_smart_member_del(contained_obj);
+             // EEK ... it qasn't removed? remove it forcibly...
+             if ((Evas_Object_Protected_Data *)o->contained == contained)
+               {
+                  o->contained = eina_inlist_remove
+                    (o->contained, EINA_INLIST_GET(contained));
+               }
           }
 
         while (o->callbacks)

-- 


Reply via email to