From d8fe6e945026692281060d16b4b353b906527e1a Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Sun, 3 Apr 2022 21:10:25 +0100 Subject: [PATCH] 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)