diff --git a/ChangeLog b/ChangeLog index 9750a2db29..5b5cfb4afb 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 cf5c8fe84e..f76e48bd18 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 02bde45656..2ecc56c9cc 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++) {