Evas textblock: Fixed cursor pos set to work correctly in case the character being...
authortasn <tasn@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 10 Jan 2011 07:23:31 +0000 (07:23 +0000)
committertasn <tasn@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 10 Jan 2011 07:23:31 +0000 (07:23 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@56020 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/canvas/evas_object_textblock.c

index 7865a33..3cf221d 100644 (file)
@@ -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;
      }
 
 }