Evas textblock: Fixed invalid reads with ellipsis in some cases.

SVN revision: 58659
This commit is contained in:
Tom Hacohen 2011-04-14 11:37:09 +00:00
parent e6edd2ce7f
commit 86fd95e80e
1 changed files with 10 additions and 8 deletions

View File

@ -3220,14 +3220,6 @@ _layout_ellipsis_item_new(Ctxt *c, const Evas_Object_Textblock_Item *cur_it)
eina_list_data_get(eina_list_last(c->format_stack)));
ellip_ti->parent.text_node = cur_it->text_node;
ellip_ti->parent.text_pos = cur_it->text_pos;
if (cur_it->type == EVAS_TEXTBLOCK_ITEM_TEXT)
{
ellip_ti->parent.text_pos += _ITEM_TEXT(cur_it)->text_props.text_len;
}
else
{
ellip_ti->parent.text_pos++;
}
evas_common_text_props_bidi_set(&ellip_ti->text_props,
ellip_ti->parent.text_node->bidi_props, ellip_ti->parent.text_pos);
@ -3240,6 +3232,16 @@ _layout_ellipsis_item_new(Ctxt *c, const Evas_Object_Textblock_Item *cur_it)
ellip_ti->parent.text_pos, len);
_text_item_update_sizes(c, ellip_ti);
if (cur_it->type == EVAS_TEXTBLOCK_ITEM_TEXT)
{
ellip_ti->parent.text_pos += _ITEM_TEXT(cur_it)->text_props.text_len
- 1;
}
else
{
ellip_ti->parent.text_pos++;
}
return ellip_ti;
}