Page MenuHomePhabricator

evas textblock: fix render_pre bug related with clipper
ClosedPublic

Authored by jypark on Dec 26 2018, 12:09 AM.

Details

Summary
assumtion: textblock A has the clipper rect B.

1. evas_render_updates_internal start
 : evas_object_clip_dirty_do( rect B)
 : evas_object_textblock_render_pre( textblock A)
   - if textlock A's o->redraw is EINA_TRUE (o->changed=1 is also same case)
   - textblock A's vis 1->0
   - clipper rect B lose the chance to call render_pre function.
   - clipper rect B's evas_render_mapped function is not called
 : pending_change(Rect B)
   - obj->pre_render_done = 0, so rect cannot be get the change to call evas_object_change_reset

when rect b remained the pending list and changed value is EINA_TRUE, it cause textblock's rendering problem

Diff Detail

Repository
rEFL core/efl
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
jypark created this revision.Dec 26 2018, 12:09 AM
jypark requested review of this revision.Dec 26 2018, 12:09 AM
Hermet accepted this revision.Dec 26 2018, 2:28 AM
This revision is now accepted and ready to land.Dec 26 2018, 2:28 AM
This revision was automatically updated to reflect the committed changes.