From: tasn Date: Mon, 10 Jan 2011 07:23:31 +0000 (+0000) Subject: Evas textblock: Fixed cursor pos set to work correctly in case the character being... X-Git-Tag: accepted/2.0/20130306.225542~242^2~1297 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=20c99b780c20dd9c739bcae967812697c6204402;p=profile%2Fivi%2Fevas.git 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. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56020 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- diff --git a/src/lib/canvas/evas_object_textblock.c b/src/lib/canvas/evas_object_textblock.c index 7865a33..3cf221d 100644 --- a/src/lib/canvas/evas_object_textblock.c +++ b/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; } }