From 43bd80c14cce14e42e8f9500a1f87466e0c4f8fa Mon Sep 17 00:00:00 2001 From: Youngbok Shin Date: Tue, 10 Nov 2020 14:12:05 +0900 Subject: [PATCH] ecore_evas: clear eina_freeq when an ecore_evas is freed The main Eina Freeq is used for Eina List and etc. This queue is processed when Ecore enters Idle state. But, in a very rare case, application can add and free Ecore Evas only for manual rendering without running Ecore main loop. In this case, the main Eina Freeq never clear its queue before shutting Ecore Evas down. Since the eina_freeq_main_get() is internal, the main Eina Freeq must be cleared internally before deleting(free) an Ecore Evas. @tizen_fix Change-Id: Idde6f0e40ba9f456fe844abcb38f94538f4088bb --- src/lib/ecore_evas/ecore_evas.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c index dd820fb..3128bbe 100644 --- a/src/lib/ecore_evas/ecore_evas.c +++ b/src/lib/ecore_evas/ecore_evas.c @@ -1187,6 +1187,10 @@ ecore_evas_free(Ecore_Evas *ee) { if (!ee) return; ECORE_EVAS_CHECK(ee); + + /* TIZEN_ONLY(20201113): clear eina_freeq when an ecore_evas is freed */ + eina_freeq_clear(eina_freeq_main_get()); + /* END */ _ecore_evas_free(ee); return; } -- 2.7.4