path: root/src/lib
diff options
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
parentefl_ui_win: make win work for evas_norender (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')
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 b33cb6f5eb..0a79e30472 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)
Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
+ if (obj->delete_me) return EINA_TRUE;
/* XXX const */
evas_object_textblock_coords_recalc((Evas_Object *)eo_obj, obj, obj->private_data);
if (o->formatted.valid)