zmike pushed a commit to branch efl-1.22.

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

commit c3bc21bc24822bd5a41e84cfb9c7dbec90408e30
Author: Woochanlee <[email protected]>
Date:   Thu Apr 25 21:24:42 2019 +0900

    elm_theme: Check the ref count to delete or unref.
    
    Summary:
    In case of the ref count bigger than 1.
    That means the eo_theme ref count is 2.
    
    In that case we need to call efl_unref when theme freed.
    other case we can delete eo_theme.
    
    @fix
    
    Reviewers: Jaehyun_Cho, woohyun, Hermet
    
    Reviewed By: Jaehyun_Cho
    
    Subscribers: cedric, #reviewers, #committers
    
    Tags: #efl
    
    Differential Revision: https://phab.enlightenment.org/D8714
---
 src/lib/elementary/elm_theme.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/src/lib/elementary/elm_theme.c b/src/lib/elementary/elm_theme.c
index 538b6fa8e4..62397d1c09 100644
--- a/src/lib/elementary/elm_theme.c
+++ b/src/lib/elementary/elm_theme.c
@@ -533,7 +533,10 @@ elm_theme_free(Elm_Theme *th)
    /* Destructs theme object and theme is deallocated in
     * _elm_theme_free_internal() in theme object desctructor.
     */
-   efl_unref(th->eo_theme);
+   if (efl_ref_count(th->eo_theme) > 1)
+     efl_unref(th->eo_theme);
+   else
+     efl_del(th->eo_theme);
 }
 
 static void

-- 


Reply via email to