From 2fd2aaf15184a61725930706c466a74156623d89 Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Mon, 10 Jan 2011 07:23:31 +0000 Subject: [PATCH] Evas textblock: Fixed cursor pos set to work correctly in case the character being pointed at is the last character in the last paragraph. Also prevented a bug that may happen with an empty paragraph. Thanks to Mr. Myungjae Lee. SVN revision: 56020 --- legacy/evas/src/lib/canvas/evas_object_textblock.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/legacy/evas/src/lib/canvas/evas_object_textblock.c b/legacy/evas/src/lib/canvas/evas_object_textblock.c index 7865a33ecc..3cf221d162 100644 --- a/legacy/evas/src/lib/canvas/evas_object_textblock.c +++ b/legacy/evas/src/lib/canvas/evas_object_textblock.c @@ -5356,15 +5356,17 @@ evas_textblock_cursor_pos_set(Evas_Textblock_Cursor *cur, int _pos) cur->node = n; cur->pos = pos; } - else + else if (o->text_nodes) { + /* In case we went pass the last node, we need to put the cursor + * at the absolute end. */ Evas_Object_Textblock_Node_Text *last_n; last_n = _NODE_TEXT(EINA_INLIST_GET(o->text_nodes)->last); - cur->node = last_n; - cur->pos = 0; + pos = eina_ustrbuf_length_get(last_n->unicode); - evas_textblock_cursor_paragraph_char_last(cur); + cur->node = last_n; + cur->pos = pos; } }