summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/evas/canvas/evas_object_textblock.c3
-rw-r--r--src/tests/evas/evas_test_textblock.c10
2 files changed, 12 insertions, 1 deletions
diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c
index ae0ab261af..57d54bc2ea 100644
--- a/src/lib/evas/canvas/evas_object_textblock.c
+++ b/src/lib/evas/canvas/evas_object_textblock.c
@@ -3920,7 +3920,8 @@ loop_advance:
{
Evas_Coord new_wmax = c->ln->w +
c->marginl + c->marginr - (c->o->style_pad.l + c->o->style_pad.r);
- c->par->last_fw = new_wmax;
+ if (new_wmax > c->par->last_fw)
+ c->par->last_fw = new_wmax;
if (new_wmax > c->wmax)
c->wmax = new_wmax;
}
diff --git a/src/tests/evas/evas_test_textblock.c b/src/tests/evas/evas_test_textblock.c
index b3c60c9279..57cc36efbb 100644
--- a/src/tests/evas/evas_test_textblock.c
+++ b/src/tests/evas/evas_test_textblock.c
@@ -3865,6 +3865,16 @@ START_TEST(evas_textblock_size)
evas_textblock_cursor_text_append(cur, "Y");
evas_object_textblock_size_formatted_get(tb, &w, &h);
ck_assert_int_eq(bw, w);
+
+ evas_object_textblock_text_markup_set(tb,
+ "XXXXXXXXXXXX<br>"
+ "X<ps>"
+ "YYY<br>");
+ evas_object_textblock_size_formatted_get(tb, &bw, &bh);
+ evas_textblock_cursor_paragraph_last(cur);
+ evas_textblock_cursor_text_append(cur, "Y");
+ evas_object_textblock_size_formatted_get(tb, &w, &h);
+ ck_assert_int_eq(bw, w);
}
/* FIXME: There is a lot more to be done. */