From: Enlightenment S. <no-...@en...> - 2011-04-07 15:25:26
|
Log: Evas textblock: Fix handling of newline in compatiblity mode. This fixes an issue with newlines that were shoved in the middle of other format parts like <font_size=46 \n>. Author: tasn Date: 2011-04-07 08:25:19 -0700 (Thu, 07 Apr 2011) New Revision: 58457 Trac: http://trac.enlightenment.org/e/changeset/58457 Modified: trunk/evas/src/lib/canvas/evas_object_textblock.c Modified: trunk/evas/src/lib/canvas/evas_object_textblock.c =================================================================== --- trunk/evas/src/lib/canvas/evas_object_textblock.c 2011-04-07 14:25:48 UTC (rev 58456) +++ trunk/evas/src/lib/canvas/evas_object_textblock.c 2011-04-07 15:25:19 UTC (rev 58457) @@ -2994,11 +2994,7 @@ { Evas_Object_Textblock_Format_Item *fi; - /* If in compatible mode, insert a ps */ - if (c->o->newline_is_ps) - fi = _layout_format_item_add(c, n, "ps", fmt); - else - fi = _layout_format_item_add(c, n, item, fmt); + fi = _layout_format_item_add(c, n, item, fmt); fi->parent.w = fi->parent.adv = 0; } @@ -3416,7 +3412,12 @@ Evas_Object_Textblock_Format_Item *fi; fi = _ITEM_FORMAT(it); fi->y = c->y; - if (fi->item && _IS_LINE_SEPARATOR(fi->item)) + /* If it's a newline, and we are not in newline compat + * mode, or we are in newline compat mode, and this is + * not used as a paragraph separator, advance */ + if (fi->item && _IS_LINE_SEPARATOR(fi->item) && + (!c->o->newline_is_ps || + eina_list_next(i))) { adv_line = 1; } |