raster pushed a commit to branch master.

commit 1f1704924dae07bda296b666ab14f3d9cab9f722
Author: Carsten Haitzler (Rasterman) <[email protected]>
Date:   Thu Mar 28 18:51:18 2013 +0900

    fix word start/end logic to be consistent with other toolkits.
---
 ChangeLog                                   | 9 +++++++++
 NEWS                                        | 1 +
 src/lib/evas/canvas/evas_object_textblock.c | 4 ++--
 3 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 9750a2d..5b5cfb4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2013-03-28  Carsten Haitzler (The Rasterman)
+
+        * Change evas_textblock_cursor_word_start() and
+        evas_textblock_cursor_word_end() to walk extra whitespaces when
+        moving up and down words that tends to look more like other
+        toolkits (gtk, qt). the docs dont specifically say the rules
+        on word finding, so being consistent is better i believe and
+        so we can assume the prior behavior is a bug.
+
 2013-03-27  Cedric Bail
 
        * Eina: Add eina_log_timing.
diff --git a/NEWS b/NEWS
index cf5c8fe..f76e48b 100644
--- a/NEWS
+++ b/NEWS
@@ -213,3 +213,4 @@ Fixes:
     * fix gles support to only use GL_UNPACK_ROW_LENGTH if extension exists
     * Fix magic failure in eina_value_array_count when array has not been 
allocated
     * Ecore_x: fix alpha set function not clear sync counter
+    * Fix evas word start/end find in textblock to be consistent with other 
toolkit logic on the matter
diff --git a/src/lib/evas/canvas/evas_object_textblock.c 
b/src/lib/evas/canvas/evas_object_textblock.c
index 02bde45..2ecc56c 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -7015,7 +7015,7 @@ evas_textblock_cursor_word_start(Evas_Textblock_Cursor 
*cur)
         set_wordbreaks_utf32((const utf32_t *) text, len, lang, breaks);
      }
 
-   i = cur->pos;
+   for (i = cur->pos; (BREAK_AFTER(i)) && (i >= 0); i--);
 
    for ( ; i > 0 ; i--)
      {
@@ -7050,7 +7050,7 @@ evas_textblock_cursor_word_end(Evas_Textblock_Cursor *cur)
         set_wordbreaks_utf32((const utf32_t *) text, len, lang, breaks);
      }
 
-   i = cur->pos;
+   for (i = cur->pos; (BREAK_AFTER(i)) && (text[i]); i++);
 
    for ( ; text[i] ; i++)
      {

-- 

------------------------------------------------------------------------------
Own the Future-Intel&reg; Level Up Game Demo Contest 2013
Rise to greatness in Intel's independent game demo contest.
Compete for recognition, cash, and the chance to get your game 
on Steam. $5K grand prize plus 10 genre and skill prizes. 
Submit your demo by 6/6/13. http://p.sf.net/sfu/intel_levelupd2d

Reply via email to