evas textblock: fix double free issue from user style push/pop and free
Summary:
The Textblock Style which is created for user style was managed application side.
It is created and free'd from application - outside of Evas Textblock.
Recently, evas_object_textblock_style_user_push/pop start to call efl_canvas_text_style_set()
instead of legacy code. The problem is efl_canvas_text_style_set() is always going to call free()
when a style is going to be deleted.
It makes conflicts(double free issue) with application which is used to call evas_textblock_style_free().
So, the issue will be fixed by this patch.
The patch also revise push/pop/peek code to make clean and avoid meaningless calculation/events.
@fix
Test Plan:
A test case is Included in this patch.
The test case try to trigger double free.
Reviewers: herdsman, raster, cedric
Subscribers: woohyun
Differential Revision: https://phab.enlightenment.org/D5812