diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c index b9712a2243..652ac3e631 100644 --- a/src/lib/evas/canvas/evas_object_textblock.c +++ b/src/lib/evas/canvas/evas_object_textblock.c @@ -10836,7 +10836,7 @@ _evas_textblock_cursor_format_append(Efl_Text_Cursor_Cursor *cur, Eina_Unicode insert_char; /* Insert a visual representation according to the type of the format */ - if (_IS_PARAGRAPH_SEPARATOR(o, format)) + if (_IS_PARAGRAPH_SEPARATOR_SIMPLE(format)) insert_char = _PARAGRAPH_SEPARATOR; else if (_IS_LINE_SEPARATOR(format)) insert_char = _NEWLINE; diff --git a/src/tests/evas/evas_test_textblock.c b/src/tests/evas/evas_test_textblock.c index 715ec1fd33..1f6cb139b2 100644 --- a/src/tests/evas/evas_test_textblock.c +++ b/src/tests/evas/evas_test_textblock.c @@ -2977,6 +2977,21 @@ EFL_START_TEST(evas_textblock_editing) evas_textblock_cursor_paragraph_first(cur); fail_if(evas_textblock_cursor_paragraph_next(cur)); + /* Test cursor range delete with
tags when legacy newline is enabled. + * After deleting first
tag, the second
tag shouldn't be changed to */ + evas_object_textblock_legacy_newline_set(tb, EINA_TRUE); + evas_object_textblock_text_markup_set(tb, "A

B"); + evas_textblock_cursor_paragraph_first(cur); + evas_textblock_cursor_paragraph_first(main_cur); + evas_textblock_cursor_pos_set(main_cur, 2); + ck_assert_str_eq(evas_textblock_cursor_range_text_get(cur, main_cur, EVAS_TEXTBLOCK_TEXT_MARKUP), "A
"); + + evas_textblock_cursor_range_delete(cur, main_cur); + ck_assert_str_eq(evas_object_textblock_text_markup_get(tb), "
B"); + + /* Restore legacy newline disabled setting */ + evas_object_textblock_legacy_newline_set(tb, EINA_FALSE); + { /* Limit to 1000 iterations so we'll never get into an infinite loop, * even if broken */