From 73a5f2277aee41efaf1109015cdcbe6d138a18fb Mon Sep 17 00:00:00 2001 From: Tom Hacohen Date: Sun, 17 Jul 2011 11:15:18 +0000 Subject: [PATCH] Evas textblock: Fixed a bug in mixed wrapping mode. SVN revision: 61440 --- .../src/lib/canvas/evas_object_textblock.c | 32 ++++++++++++------- 1 file changed, 20 insertions(+), 12 deletions(-) diff --git a/legacy/evas/src/lib/canvas/evas_object_textblock.c b/legacy/evas/src/lib/canvas/evas_object_textblock.c index 34c4d0e58c..abbc611a20 100644 --- a/legacy/evas/src/lib/canvas/evas_object_textblock.c +++ b/legacy/evas/src/lib/canvas/evas_object_textblock.c @@ -3267,22 +3267,30 @@ _layout_get_word_mixwrap_common(Ctxt *c, Evas_Object_Textblock_Format *fmt, /* If we need to find the position after the cutting point */ if ((wrap == line_start) || (wrap_after)) { - while (wrap < len) + if (mixed_wrap) { - if (ALLOW_BREAK(wrap)) - break; - wrap++; - } - - - if ((wrap < len) && (wrap > line_start)) - { - MOVE_NEXT_UNTIL(len, wrap); - return wrap; + return _layout_get_charwrap(c, fmt, ti, + line_start, breaks); } else { - return -1; + while (wrap < len) + { + if (ALLOW_BREAK(wrap)) + break; + wrap++; + } + + + if ((wrap < len) && (wrap > line_start)) + { + MOVE_NEXT_UNTIL(len, wrap); + return wrap; + } + else + { + return -1; + } } }