summaryrefslogtreecommitdiff
path: root/src/lib/evas/canvas/evas_object_textblock.c
diff options
context:
space:
mode:
authorYoungbok Shin <youngb.shin@samsung.com>2018-12-07 06:27:13 +0000
committerDerek Foreman <derek.foreman.samsung@gmail.com>2019-01-10 13:05:17 -0600
commit9201fc5a65368a40234977c3c176a806655afea2 (patch)
tree199a67c505f7f9aad1d494e512aafa9f3b967735 /src/lib/evas/canvas/evas_object_textblock.c
parentb447a37ed877beeb40ecbb294f34a3fbfb432379 (diff)
evas: remove memory leaks from deleted Textblock objects
Even if a object is deleted, its render_pre function could be called. Especially, Evas Textblock is calling relayout() function if there are any changes. In relayout() function, it creates at least one paragraph and one line. Normally, all of paragraphs and its line should be removed when Evas Textblock object is deleted. But, paragraphs and lines which are created after deleting its object never be free'd. @fix Differential Revision: https://phab.enlightenment.org/D7427
Diffstat (limited to 'src/lib/evas/canvas/evas_object_textblock.c')
-rw-r--r--src/lib/evas/canvas/evas_object_textblock.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c
index b33cb6f..0a79e30 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -6788,6 +6788,8 @@ _relayout_if_needed(const Evas_Object *eo_obj, Efl_Canvas_Text_Data *o)
6788 ASYNC_BLOCK; 6788 ASYNC_BLOCK;
6789 Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS); 6789 Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
6790 6790
6791 if (obj->delete_me) return EINA_TRUE;
6792
6791 /* XXX const */ 6793 /* XXX const */
6792 evas_object_textblock_coords_recalc((Evas_Object *)eo_obj, obj, obj->private_data); 6794 evas_object_textblock_coords_recalc((Evas_Object *)eo_obj, obj, obj->private_data);
6793 if (o->formatted.valid) 6795 if (o->formatted.valid)