From: Michael B. <mic...@gm...> - 2013-03-28 09:57:18
|
if this fixes what I think it fixes, then I owe you $infinity beers. On Thu, 28 Mar 2013 02:51:45 -0700 Carsten Haitzler (Rasterman) - Enlightenment Git <no-...@en...> wrote: > raster pushed a commit to branch master. > > commit 1f1704924dae07bda296b666ab14f3d9cab9f722 > Author: Carsten Haitzler (Rasterman) <ra...@ra...> > 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++) > { > |