From 86fd95e80ef097e4b5251dce5ba9be11d4a20a3e Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Thu, 14 Apr 2011 11:37:09 +0000 Subject: [PATCH] Evas textblock: Fixed invalid reads with ellipsis in some cases. SVN revision: 58659 --- legacy/evas/src/lib/canvas/evas_object_textblock.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/legacy/evas/src/lib/canvas/evas_object_textblock.c b/legacy/evas/src/lib/canvas/evas_object_textblock.c index f3d3cd1..7a3a0b5 100644 --- a/legacy/evas/src/lib/canvas/evas_object_textblock.c +++ b/legacy/evas/src/lib/canvas/evas_object_textblock.c @@ -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; } -- 2.7.4