woohyun pushed a commit to branch master.

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

commit 8538130ba27f23108bcf6cbada75781784612d0f
Author: WooHyun Jung <[email protected]>
Date:   Tue May 12 16:46:29 2020 +0900

    evas_object_textblock: fix to free style properly by edje's style_user_pop
    
    Summary:
    When calling style_user_pop in edje, current style was not freed by
    style_user_pop in evas properly (since old_ts was not cared at all).
    
    Because of this, memory was leaked by none accessible textblock styles which
    should have been freed.
    
    @fix
    
    Test Plan:
    1. call edje_object_part_text_style_user_pop
    2. call edje_object_part_text_style_user_push with new style-text
    3. repeat #1 and #2 several times and check the memory (ps -u)
    
    Reviewers: ali.alzyod, bowonryu, bu5hm4n, zmike
    
    Reviewed By: ali.alzyod
    
    Subscribers: cedric, #reviewers, #committers
    
    Tags: #efl
    
    Differential Revision: https://phab.enlightenment.org/D11801
---
 src/lib/evas/canvas/evas_object_textblock.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index ea48a10fe7..937cc60263 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -8219,6 +8219,7 @@ _textblock_style_generic_set(Evas_Object *eo_obj, 
Evas_Textblock_Style *ts,
         else if (us)
           {
              o->styles = eina_list_remove_list(o->styles, itr);
+             old_ts = us->st;
              free(us);
           }
      }

-- 


Reply via email to