Summary:
Evas textblock could cause infinite loop if there is no fonts to use.
If there is no fonts, text_props.text_len is never set.
When text_props.text_len is 0, the for loop in _layout_par runs forever.
It is ridiculous to use Textblock without fonts. But, it shouldn't runs
infinite loop in any situation.
@fix
Test Plan:
1. Remove all of fonts in your EFL or Tizen device.
(Or you can test it modifying some codes in Textblock by skipping load fonts.)
2. Run elementary_test -to entry3 or see any multiline textblocks.
Reviewers: tasn, herdsman, woohyun
Subscribers: cedric, jpeg
Differential Revision: https://phab.enlightenment.org/D3402
Change-Id: Ifeb027353a8b0de7ff033df63f02d542954c7cf7
it = _ITEM(eina_list_data_get(i));
/* Skip visually deleted items */
- if (it->visually_deleted)
+ if (it->visually_deleted ||
+ ((it->type == EVAS_TEXTBLOCK_ITEM_TEXT) && !it->format->font.font))
{
//one more chance for ellipsis special cases
if (c->o->ellip_prev_it == i)